Add DEPLOYMENT.md as living deployment documentation

Covers architecture overview, Gitea container registry setup, branching
strategy, and deployment workflow. Sections not yet implemented are marked
with TODO to be filled in as the deployment epic progresses.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-09 17:56:06 +01:00
parent ad4ac6cf8c
commit 349a0cb821
4 changed files with 160 additions and 7 deletions

View File

@@ -1,11 +1,11 @@
---
# nuzlocke-tracker-ahza
title: Deployment Strategy
status: todo
status: in-progress
type: epic
priority: normal
created_at: 2026-02-09T14:03:53Z
updated_at: 2026-02-09T16:44:13Z
updated_at: 2026-02-09T16:53:58Z
---
Define and implement a deployment strategy for running the nuzlocke-tracker in production on a local Unraid server while keeping laptop/PC as the development environment.
@@ -51,7 +51,7 @@ Define and implement a deployment strategy for running the nuzlocke-tracker in p
- [ ] **Configure Gitea container registry** — create an access token with `read:package` and `write:package` scopes, verify `docker login gitea.yourdomain.com` works, test pushing and pulling an image as a user-level package
- [ ] **Create production docker-compose file** (`docker-compose.prod.yml`) — uses images from the Gitea container registry, production env vars, no source volume mounts, proper restart policies
- [ ] **Create production Dockerfiles (or multi-stage builds)** — ensure frontend is built and served statically (e.g., via the API or a lightweight nginx container), API runs without debug mode
- [ ] **Set up Portainer on Unraid** — install Portainer CE as a Docker container, configure the stack from the production compose file
- [x] **Set up Portainer on Unraid** — install Portainer CE as a Docker container, configure the stack from the production compose file
- [ ] **Configure Portainer webhook for automated redeployment** — add a webhook trigger in Portainer that pulls latest images and restarts the stack
- [ ] **Create deploy script** — a script (e.g., `./deploy.sh`) that builds images from `main`, tags them for the Gitea registry, pushes them, and triggers the Portainer webhook to redeploy
- [ ] **Configure Nginx Proxy Manager** — add proxy host entries for Gitea and the nuzlocke-tracker frontend/API on the appropriate ports

View File

@@ -1,10 +1,11 @@
---
# nuzlocke-tracker-hwyk
title: Set up Portainer on Unraid
status: todo
status: completed
type: task
priority: normal
created_at: 2026-02-09T15:30:44Z
updated_at: 2026-02-09T15:30:44Z
updated_at: 2026-02-09T16:53:41Z
parent: nuzlocke-tracker-ahza
---

View File

@@ -1,11 +1,11 @@
---
# nuzlocke-tracker-re0m
title: Document the deployment workflow
status: todo
status: in-progress
type: task
priority: normal
created_at: 2026-02-09T15:30:57Z
updated_at: 2026-02-09T15:31:15Z
updated_at: 2026-02-09T16:55:02Z
parent: nuzlocke-tracker-ahza
blocking:
- nuzlocke-tracker-aiw6