- Reorder PROFILES in step_hardware.py, _WIZARD_PROFILES in dev-api.py, and <option> elements in WizardHardwareStep.vue: cpu → single-gpu → dual-gpu → cf-orch → remote - _suggest_profile() now defaults to "cpu" instead of "remote" when no local GPUs detected - Update no-GPU hint text to remove "Remote" from suggested options - Add nvidia GPU device reservation to compose.wizard-test.yml so the wizard test instance can run nvidia-smi and detect host GPUs - Switch wizard-test compose to use ghcr.io/circuitforgellc/peregrine:latest (same image as main compose, avoids stale peregrine-api tag drift)
62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
# compose.wizard-test.yml — Fresh first-run instance for testing wizard/onboarding flows
|
|
#
|
|
# Spins up on port 8507 with ephemeral storage so every `docker compose restart`
|
|
# gives a completely clean slate. Perfect for exercising the onboarding wizard,
|
|
# AI interview, and first-run UX without touching the real data.
|
|
#
|
|
# Usage:
|
|
# docker compose -f compose.wizard-test.yml --project-name peregrine-wizard up -d
|
|
# docker compose -f compose.wizard-test.yml --project-name peregrine-wizard restart api
|
|
# docker compose -f compose.wizard-test.yml --project-name peregrine-wizard down
|
|
|
|
services:
|
|
|
|
api:
|
|
image: ghcr.io/circuitforgellc/peregrine:latest # same image as main compose
|
|
command: >
|
|
bash -c "uvicorn dev_api:app --host 0.0.0.0 --port 8601"
|
|
volumes:
|
|
- ./config/wizard-test:/app/config # LLM config only — no user.yaml triggers wizard
|
|
tmpfs:
|
|
- /app/data # ephemeral DB; wipes on restart → clean first-run every time
|
|
environment:
|
|
- STAGING_DB=/app/data/staging.db
|
|
- DOCS_DIR=/tmp/wizard-test-docs
|
|
- PYTHONUNBUFFERED=1
|
|
- CF_ORCH_URL=http://host.docker.internal:7700
|
|
- CF_APP_NAME=peregrine
|
|
- GPU_SERVER_URL=http://host.docker.internal:7700
|
|
- HEIMDALL_URL=http://host.docker.internal:8000 # license check — skip for local testing
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: all
|
|
capabilities: [gpu]
|
|
depends_on:
|
|
searxng:
|
|
condition: service_healthy
|
|
restart: unless-stopped
|
|
# No host port — nginx in web proxies /api/ → api:8601
|
|
|
|
web:
|
|
image: ghcr.io/circuitforgellc/peregrine-web:latest # same image as main compose
|
|
ports:
|
|
- "8507:80"
|
|
depends_on:
|
|
- api
|
|
restart: unless-stopped
|
|
|
|
searxng:
|
|
image: searxng/searxng:latest
|
|
volumes:
|
|
- ./docker/searxng:/etc/searxng:ro
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8080/"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 3
|
|
restart: unless-stopped
|