Commit Graph

15 Commits

Author SHA1 Message Date
c8125b25f2 feat: add harborforge-monitor service to docker-compose
Runs the monitor container with network_mode: host and /:/host:ro
bind mount so gopsutil reads host-level telemetry. Backend URL,
identifier, and API key are sourced from .env via variable
interpolation (no secrets in compose).
2026-04-16 07:53:32 +00:00
c5735f3129 docs: add deployment log with 2026-04-15 vps.lab migration entry 2026-04-15 15:46:53 +00:00
5e601b1840 fix: chown wizard_config volume to nonroot uid via init sidecar
The abstract-wizard image runs as nonroot (65532), but the named
volume is created with root:root ownership, causing PUT writes to
harborforge.json to return 500. Add a busybox wizard_init service
that chowns /config to 65532:65532 before wizard starts.
2026-04-15 15:41:02 +00:00
5c10d6d4c2 Add HarborForge stack to docker-compose
- Add hf_db_init sidecar that ensures the HarborForge database exists on
  every `compose up` (idempotent CREATE DATABASE IF NOT EXISTS), so the
  shared MySQL instance can host both hangmanlab and harborforge schemas
  without touching existing data.
- Wire hf_backend's DATABASE_URL directly from compose env vars and gate
  it on hf_db_init completing successfully.
- Add a mysqladmin-ping healthcheck on mysql so dependents can wait on
  service_healthy.
- Drop dead Vite runtime envs from hf_frontend (build-time only) and
  make wizard CORS_ORIGINS configurable via HF_FRONTEND_HOST.
- Seed .env.example with all variables the stack reads.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-15 07:18:47 +01:00
f428cdacd9 fix: VITE_API_BASE_URL -> VITE_API_BASE (env var name mismatch) 2026-04-15 04:56:27 +00:00
ad3cb17047 fix: revert VITE_API_BASE_URL to hf_backend (API calls still go to hf_backend) 2026-04-15 04:50:29 +00:00
a9bd037dce fix: remove restart:no from hf_frontend, keep only on hf_backend 2026-04-15 04:49:52 +00:00
2988b6eb28 fix: hf_frontend depends only on wizard, VITE_API_BASE_URL points to wizard 2026-04-15 04:49:13 +00:00
7b1a195af6 feat: re-add hf_backend with restart:no, hf_frontend depends on both hf_backend and wizard 2026-04-15 04:46:56 +00:00
07b5816987 chore: remove hf_backend, keep only wizard and hf_frontend 2026-04-15 04:44:55 +00:00
b9e35b9766 fix: hf_frontend depends_on both hf_backend and wizard 2026-04-15 04:43:04 +00:00
e46e1aa0c6 feat: update HarborForge services config from reference compose
- hf_backend: use explicit env vars (CONFIG_DIR, SECRET_KEY, LOG_LEVEL), wizard_config volume
- hf_frontend: VITE_API_BASE_URL points to hf_backend service name, VITE_WIZARD_PORT
- wizard: CORS_ORIGINS, LISTEN_ADDR, MAX_BACKUPS
- Add mysql healthcheck condition for hf_backend
2026-04-15 04:36:37 +00:00
f343d3c12e chore: add .gitignore and remove .env from repo 2026-04-15 04:28:16 +00:00
9e99cda36b feat: add HarborForge services (hf_backend, hf_frontend, wizard) to docker-compose
- hf_backend: zhi/harborforge-backend:multi-stage on port 8000
- hf_frontend: zhi/harborforge-frontend:latest on port 3000
- wizard: nav/abstract-wizard:latest on port 8082
- All services share app-network bridge
2026-04-15 04:25:37 +00:00
3a526787cf Initial commit: docker-compose.yml 2026-04-14 19:12:06 +00:00