File tree Expand file tree Collapse file tree 3 files changed +32
-6
lines changed
openspec/changes/add-ghcr-portainer-deploy Expand file tree Collapse file tree 3 files changed +32
-6
lines changed Original file line number Diff line number Diff line change 1- # GHCR images (override tags if needed)
2- PDF_PROXY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/pdf-proxy:main
3- WEB_LIBRARY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/web-library:main
1+ # GHCR images (override tags if needed) — default to a pinned release tag
2+ PDF_PROXY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/pdf-proxy:v0.1.1
3+ WEB_LIBRARY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/web-library:v0.1.1
44
55# Host bindings
66ZOTERO_ROOT_HOST_PATH=/volume1/Reference/zotero
Original file line number Diff line number Diff line change 11# Staging/NAS environment configuration (example values). Copy to `.env.stage` on the staging host.
22
3- # GHCR images to deploy (choose tags built by CI)
4- PDF_PROXY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/pdf-proxy:main
5- WEB_LIBRARY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/web-library:main
3+ # GHCR images to deploy (choose tags built by CI) — default to a pinned release tag
4+ PDF_PROXY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/pdf-proxy:v0.1.1
5+ WEB_LIBRARY_IMAGE=ghcr.io/joonsoome/on-prem-zotero-webui/web-library:v0.1.1
66
77# Host path for Zotero WebDAV data mounted into the proxy container
88ZOTERO_ROOT_HOST_PATH=/volume1/Reference/zotero
Original file line number Diff line number Diff line change 1+ ## 1. Container images
2+ - [x] 1.1 Add/build Dockerfile for PDF proxy with production-ready entrypoint and tag defaults.
3+ - [x] 1.2 Ensure Web Library image tagging fits GHCR conventions; align compose defaults to use tagged images via env (e.g., ` WEB_LIBRARY_IMAGE ` ).
4+ - [x] 1.3 Add .dockerignore as needed to keep build context lean and avoid leaking repo artifacts.
5+
6+ ## 2. GHCR publishing workflow
7+ - [x] 2.1 Create GitHub Actions workflow that logs into GHCR with ` GITHUB_TOKEN ` and builds/pushes both images on pushes to ` main ` and tags.
8+ - [x] 2.2 Include branch/SHA tags and ` latest ` /` main ` tags; document registry names (e.g., ` ghcr.io/<owner>/on-prem-zotero-webui/pdf-proxy ` ).
9+ - [x] 2.3 Document required repo secrets/permissions (packages: write ) and how to trigger manual builds if needed.
10+
11+ ## 3. Portainer/Synology deployment
12+ - [x] 3.1 Add Portainer-friendly compose stack (Synology paths/ports/env) using GHCR images; include sample env file.
13+ - [x] 3.2 Document how to deploy/update the stack in Portainer, including GHCR registry credentials.
14+ - [x] 3.3 Provide notes for volume mounts (` /volume1/Reference/zotero ` → ` /data/zotero ` ) and optional reverse proxy ports.
15+
16+ ## 4. Docs & AGENTS
17+ - [x] 4.1 Update ` README-draft.md ` (roadmap + deployment instructions) and any relevant docs to reflect GHCR + Portainer flow.
18+ - [x] 4.2 If deployment workflow expectations change, add a brief reminder to ` AGENTS.md ` .
19+
20+ ## 5. Validation
21+ - [x] 5.1 Run ` openspec validate add-ghcr-portainer-deploy --strict ` and ensure new deltas are clean.
22+
23+ ## 6. Portainer staging (mcphub-driven)
24+ - [ ] 6.1 Use the configured Portainer tool (via mcphub) to deploy the GHCR images to the staging stack.
25+ - [ ] 6.2 Capture stack status/health after deployment (proxy + web library up, ports responding) and note the deployed tags.
26+ - [x] 6.3 Tag policy recorded: local dev builds use ` :dev ` ; staging/Portainer defaults pinned to ` :v0.1.1 ` (override to ` :main ` /` :latest ` as needed).
You can’t perform that action at this time.
0 commit comments