mirror of
https://github.com/Kpa-clawbot/meshcore-analyzer.git
synced 2026-04-09 14:25:40 +00:00
## Summary Implements M1-M2 of the deployment simplification spec (#610). Adds pre-built multi-arch Docker images published to GHCR, plus a simplified deploy experience for operators. **Spec:** [docs/specs/deployment-simplification.md](https://github.com/Kpa-clawbot/CoreScope/blob/master/docs/specs/deployment-simplification.md) ## Files Added (no existing files modified) ### 1. `.github/workflows/publish.yml` Multi-arch Docker publish workflow: - Triggers on `v*` tags (releases) → produces `vX.Y.Z`, `vX.Y`, `vX`, `latest` - Triggers on master push → produces `edge` (unstable) - `workflow_dispatch` for manual runs - QEMU + buildx for `linux/amd64` + `linux/arm64` - GHCR auth via `GITHUB_TOKEN` - GHA layer caching for fast rebuilds ### 2. `docker-compose.example.yml` 20-line compose file that pulls from GHCR (no local build required): - Env var overrides: `HTTP_PORT`, `DATA_DIR`, `DISABLE_CADDY`, `DISABLE_MOSQUITTO` - Health check included - Volume mount for data persistence ### 3. `DEPLOY.md` Operator documentation: - One-line `docker run` deploy - Tag reference (pinned vs latest vs edge) - Environment variables table - Update path (`docker compose pull && docker compose up -d`) - TLS options (Caddy auto-TLS vs reverse proxy) - **Migration guide for existing manage.sh users** — both paths documented with command equivalency table ## Review Status - ✅ Self-review: Actions syntax, GHCR auth, multi-arch, tag strategy, security — all verified - ✅ Torvalds: Deploy UX is clean, one-liner works, right level of simplicity - ✅ BUILD_TIME fixed: uses `date` command instead of fragile `head_commit.timestamp` - ✅ Migration guide added for existing manage.sh admins - ⚠️ `DISABLE_CADDY` env var documented but not implemented in entrypoint — pre-existing bug, filed as #629 Fixes #610 --------- Co-authored-by: you <you@example.com>
21 lines
649 B
YAML
21 lines
649 B
YAML
# CoreScope — simple deployment using pre-built image from GHCR
|
|
# Usage: docker compose -f docker-compose.example.yml up -d
|
|
# Docs: https://github.com/Kpa-clawbot/CoreScope/blob/master/DEPLOY.md
|
|
|
|
services:
|
|
corescope:
|
|
image: ghcr.io/kpa-clawbot/corescope:latest
|
|
ports:
|
|
- "${HTTP_PORT:-80}:80"
|
|
volumes:
|
|
- ${DATA_DIR:-./data}:/app/data
|
|
environment:
|
|
- DISABLE_CADDY=${DISABLE_CADDY:-true}
|
|
- DISABLE_MOSQUITTO=${DISABLE_MOSQUITTO:-false}
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/stats"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|