Add compose.yml for home-ctr-onyx deploy #29

Closed
opened 2026-04-19 12:19:23 -06:00 by claude-code · 0 comments
Collaborator

Part of the platform-contract work (#25). Consumes the image from #28.

Scope

Add compose.yml at the repo root describing the quartermaster-web service on home-ctr-onyx. Specifics from the platform comment on #25 and the PlatformContractQuartermaster wiki page:

  • Image: forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/quartermaster:<git-sha>.
  • Bind mount: /mnt/quartermaster/data (or equivalent). The mount is the live SQLite file and its sibling backups/ directory (intake §4.3).
  • Env: QUARTERMASTER_DB_URL=sqlite:////data/quartermaster.db — note four slashes for an absolute path. The platform comment's example has three (relative), which would break.
  • Networks: proxy-net declared external: true.
  • Traefik labels for quartermaster.unbiasedgeek.com with middlewares=quartermaster-basicauth@file,quartermaster-ratelimit@file, tls.certresolver=letsencrypt, routing to container port 8000. Check the platform contract wiki for the exact label set when writing this.
  • HEALTHCHECK hitting /healthz (from #26).
  • Resource limits: mem_limit: 1g, memswap_limit: 1g, restart: unless-stopped.
  • Log rotation: logging.driver: json-file, options.max-size: 50m, options.max-file: 3 (platform contract requirement).
  • Required container labels: tenant=quartermaster, project=quartermaster, managed_by=quartermaster, com.centurylinklabs.watchtower.enable=false (per contract §Required labels).

Out of scope

  • Actions workflow — separate issue.
  • Migration/backup logic — entrypoint from #28 handles it.

Deliverables

  • compose.yml at repo root.
  • README "Deploy" section with docker compose pull && docker compose up -d and a note about the QUARTERMASTER_DB_URL four-slash gotcha.

Blocked by #28. Blocks the Actions-workflow follow-up.

Part of the platform-contract work (#25). Consumes the image from #28. ## Scope Add `compose.yml` at the repo root describing the `quartermaster-web` service on home-ctr-onyx. Specifics from the platform comment on #25 and the [PlatformContractQuartermaster](https://forgejo.labbity.unbiasedgeek.com/homelab/homelab-IaC/wiki/PlatformContractQuartermaster) wiki page: - **Image:** `forgejo.labbity.unbiasedgeek.com/archeious/quartermaster/quartermaster:<git-sha>`. - **Bind mount:** `/mnt/quartermaster` → `/data` (or equivalent). The mount is the live SQLite file and its sibling `backups/` directory (intake §4.3). - **Env:** `QUARTERMASTER_DB_URL=sqlite:////data/quartermaster.db` — note **four** slashes for an absolute path. The platform comment's example has three (relative), which would break. - **Networks:** `proxy-net` declared `external: true`. - **Traefik labels** for `quartermaster.unbiasedgeek.com` with `middlewares=quartermaster-basicauth@file,quartermaster-ratelimit@file`, `tls.certresolver=letsencrypt`, routing to container port 8000. Check the platform contract wiki for the exact label set when writing this. - **HEALTHCHECK** hitting `/healthz` (from #26). - **Resource limits:** `mem_limit: 1g`, `memswap_limit: 1g`, `restart: unless-stopped`. - **Log rotation:** `logging.driver: json-file`, `options.max-size: 50m`, `options.max-file: 3` (platform contract requirement). - **Required container labels:** `tenant=quartermaster`, `project=quartermaster`, `managed_by=quartermaster`, `com.centurylinklabs.watchtower.enable=false` (per contract §Required labels). ## Out of scope - Actions workflow — separate issue. - Migration/backup logic — entrypoint from #28 handles it. ## Deliverables - `compose.yml` at repo root. - README "Deploy" section with `docker compose pull && docker compose up -d` and a note about the `QUARTERMASTER_DB_URL` four-slash gotcha. Blocked by #28. Blocks the Actions-workflow follow-up.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: archeious/quartermaster#29
No description provided.