Closes #15, #22, #24, #25. Closes #1 and #27 (already shipped in 0.2.0). ## CI/CD (#22) - .forgejo/workflows/ci.yml — Python lint (ruff) + pytest + Vue typecheck + vitest on every PR/push. Installs cf-core from GitHub mirror for the CI runner. - .forgejo/workflows/release.yml — Docker build/push (api + web) to Forgejo registry on v* tags; git-cliff changelog; multi-arch amd64+arm64. - .forgejo/workflows/mirror.yml — push to GitHub + Codeberg mirrors. ## Self-hosted installer (#25) - install.sh rewritten to match CF installer pattern: coloured output, named functions, --docker / --bare-metal / --help flags, auto-detect Docker/conda/ Python/Node/Chromium/Xvfb, license key prompting with format validation. ## Nginx docs (#24) - docs/nginx-self-hosted.conf — sample nginx config: SPA fallback, SSE proxy (proxy_buffering off), long-term asset cache headers. - docs/getting-started/installation.md — bare-metal install section with nginx setup, Chromium/Xvfb note, serve-ui.sh vs nginx trade-off. ## cf-orch agent (#15) - compose.override.yml — cf-orch-agent sidecar service (profiles: [orch]). Starts only with docker compose --profile orch. Registers with coordinator at CF_ORCH_COORDINATOR_URL (default 10.1.10.71:7700). - .env.example — CF_ORCH_URL / CF_ORCH_COORDINATOR_URL comments expanded. ## Docs - mkdocs.yml + full docs/ tree (getting-started, reference, user-guide) staged from prior session work. Bump version 0.2.0 → 0.3.0.
48 lines
1.8 KiB
YAML
48 lines
1.8 KiB
YAML
# compose.override.yml — dev-only additions (auto-applied by Docker Compose in dev).
|
|
# Safe to delete on a self-hosted machine — compose.yml is self-contained.
|
|
#
|
|
# What this adds over compose.yml:
|
|
# - Live source mounts so code changes take effect without rebuilding images
|
|
# - RELOAD=true to enable uvicorn --reload for the API
|
|
# - cf-orch-agent sidecar for local GPU task routing (opt-in: --profile orch)
|
|
#
|
|
# NOTE: circuitforge-core is NOT mounted here — use `./manage.sh build` to
|
|
# pick up cf-core changes. Mounting it as a bind volume would break self-hosted
|
|
# installs that don't have the sibling directory.
|
|
services:
|
|
api:
|
|
volumes:
|
|
- ./api:/app/snipe/api
|
|
- ./app:/app/snipe/app
|
|
- ./tests:/app/snipe/tests
|
|
environment:
|
|
- RELOAD=true
|
|
# Point the LLM/vision task scheduler at the local cf-orch coordinator.
|
|
# Only has effect when CF_ORCH_URL is set (uncomment in .env, or set inline).
|
|
# - CF_ORCH_URL=http://10.1.10.71:7700
|
|
|
|
# cf-orch agent — routes trust_photo_analysis vision tasks to the GPU coordinator.
|
|
# Only starts when you pass --profile orch:
|
|
# docker compose --profile orch up
|
|
#
|
|
# Requires a running cf-orch coordinator. Default: Heimdall at 10.1.10.71:7700.
|
|
# Override via CF_ORCH_COORDINATOR_URL in .env.
|
|
#
|
|
# To use a locally-built cf-orch image instead of the published one:
|
|
# build:
|
|
# context: ../circuitforge-orch
|
|
# dockerfile: Dockerfile
|
|
cf-orch-agent:
|
|
image: ghcr.io/circuitforgellc/cf-orch:latest
|
|
command: >
|
|
agent
|
|
--coordinator ${CF_ORCH_COORDINATOR_URL:-http://10.1.10.71:7700}
|
|
--node-id snipe-dev
|
|
--host 0.0.0.0
|
|
--port 7701
|
|
--advertise-host 127.0.0.1
|
|
environment:
|
|
CF_COORDINATOR_URL: ${CF_ORCH_COORDINATOR_URL:-http://10.1.10.71:7700}
|
|
restart: on-failure
|
|
profiles:
|
|
- orch
|