Add deployment strategy child task beans
Split the deployment strategy epic into 11 individual task beans with blocking dependencies. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
15
.beans/nuzlocke-tracker-3c9l--set-up-branching-structure.md
Normal file
15
.beans/nuzlocke-tracker-3c9l--set-up-branching-structure.md
Normal file
@@ -0,0 +1,15 @@
|
||||
---
|
||||
# nuzlocke-tracker-3c9l
|
||||
title: Set up branching structure
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:35Z
|
||||
updated_at: 2026-02-09T15:30:35Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Create the `develop` branch from `main` and establish the `main`/`develop`/`feature/*` branching workflow.
|
||||
|
||||
- Create `develop` branch from current `main`
|
||||
- Push `develop` to remote
|
||||
- Set `develop` as the default working branch
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# nuzlocke-tracker-3lfw
|
||||
title: Configure Nginx Proxy Manager for nuzlocke-tracker
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-09T15:30:50Z
|
||||
updated_at: 2026-02-09T15:31:15Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
blocking:
|
||||
- nuzlocke-tracker-vpn5
|
||||
---
|
||||
|
||||
Add a proxy host entry in Nginx Proxy Manager on Unraid to route LAN traffic to the app.
|
||||
|
||||
- Add a proxy host (e.g., `nuzlocke.local`) pointing to the frontend/API containers
|
||||
- Configure appropriate ports and forwarding rules
|
||||
- Test access from other devices on the LAN
|
||||
16
.beans/nuzlocke-tracker-48ds--database-backup-strategy.md
Normal file
16
.beans/nuzlocke-tracker-48ds--database-backup-strategy.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# nuzlocke-tracker-48ds
|
||||
title: Database backup strategy
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:55Z
|
||||
updated_at: 2026-02-09T15:30:55Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Set up a simple scheduled backup for the production PostgreSQL database.
|
||||
|
||||
- Create a backup script using `pg_dump` that runs inside or against the PostgreSQL container
|
||||
- Set up a cron job on Unraid to run the backup on a schedule (e.g., daily)
|
||||
- Store backups in a designated location on Unraid with rotation (keep last N backups)
|
||||
- Document the restore procedure
|
||||
@@ -0,0 +1,20 @@
|
||||
---
|
||||
# nuzlocke-tracker-765i
|
||||
title: Update CLAUDE.md with branching rules
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-09T15:30:38Z
|
||||
updated_at: 2026-02-09T15:31:15Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
blocking:
|
||||
- nuzlocke-tracker-3c9l
|
||||
---
|
||||
|
||||
Once the branching structure is in place, add instructions to CLAUDE.md enforcing the branching strategy:
|
||||
|
||||
- Never commit directly to `main`
|
||||
- Day-to-day work happens on `develop`
|
||||
- New work is done on `feature/*` branches off `develop`
|
||||
- Merge flow: `feature/*` → `develop` → `main`
|
||||
- `main` is always production-ready
|
||||
24
.beans/nuzlocke-tracker-aiw6--create-deploy-script.md
Normal file
24
.beans/nuzlocke-tracker-aiw6--create-deploy-script.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
# nuzlocke-tracker-aiw6
|
||||
title: Create deploy script
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-09T15:30:48Z
|
||||
updated_at: 2026-02-09T15:31:15Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
blocking:
|
||||
- nuzlocke-tracker-izf6
|
||||
- nuzlocke-tracker-vpn5
|
||||
- nuzlocke-tracker-xmyh
|
||||
- nuzlocke-tracker-jzqz
|
||||
---
|
||||
|
||||
Create a `./deploy.sh` script for the dev machine that automates the full deployment flow.
|
||||
|
||||
- Ensure the script runs from `main` branch (or warns if not)
|
||||
- Build Docker images for API and frontend
|
||||
- Tag images for the local registry (e.g., `unraid:5000/nuzlocke-api:latest`)
|
||||
- Push images to the local registry
|
||||
- Trigger the Portainer webhook to redeploy the stack
|
||||
- Print status/confirmation of each step
|
||||
16
.beans/nuzlocke-tracker-hwyk--set-up-portainer-on-unraid.md
Normal file
16
.beans/nuzlocke-tracker-hwyk--set-up-portainer-on-unraid.md
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# nuzlocke-tracker-hwyk
|
||||
title: Set up Portainer on Unraid
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:44Z
|
||||
updated_at: 2026-02-09T15:30:44Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Install Portainer CE on the Unraid server for container/stack management.
|
||||
|
||||
- Run Portainer CE as a Docker container on Unraid
|
||||
- Configure it to manage the local Docker environment
|
||||
- Import/create a stack from the production docker-compose file
|
||||
- Verify the stack can be deployed and managed through the Portainer UI
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# nuzlocke-tracker-izf6
|
||||
title: Set up local Docker registry on Unraid
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:40Z
|
||||
updated_at: 2026-02-09T15:30:40Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Run a `registry:2` container on the Unraid server for storing production Docker images locally.
|
||||
|
||||
- Run `registry:2` as a Docker container on Unraid
|
||||
- Configure a persistent storage volume for the registry data
|
||||
- Optionally put it behind Nginx Proxy Manager with a hostname (e.g., `registry.local`)
|
||||
- Verify pushing/pulling images from the dev machine works
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# nuzlocke-tracker-jzqz
|
||||
title: Configure Portainer webhook for automated redeployment
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-09T15:30:45Z
|
||||
updated_at: 2026-02-09T15:31:15Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
blocking:
|
||||
- nuzlocke-tracker-hwyk
|
||||
---
|
||||
|
||||
Set up a webhook in Portainer that triggers a stack redeployment when called.
|
||||
|
||||
- Create a webhook trigger in Portainer for the nuzlocke-tracker stack
|
||||
- The webhook should pull the latest images from the local registry and restart the stack
|
||||
- Note the webhook URL for use in the deploy script
|
||||
@@ -0,0 +1,23 @@
|
||||
---
|
||||
# nuzlocke-tracker-re0m
|
||||
title: Document the deployment workflow
|
||||
status: todo
|
||||
type: task
|
||||
priority: normal
|
||||
created_at: 2026-02-09T15:30:57Z
|
||||
updated_at: 2026-02-09T15:31:15Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
blocking:
|
||||
- nuzlocke-tracker-aiw6
|
||||
- nuzlocke-tracker-3lfw
|
||||
- nuzlocke-tracker-up0b
|
||||
- nuzlocke-tracker-48ds
|
||||
---
|
||||
|
||||
Write documentation covering the full deployment setup and workflows.
|
||||
|
||||
- How to deploy (run `./deploy.sh`)
|
||||
- How to redeploy after changes
|
||||
- How to rollback to a previous version
|
||||
- How to manage the production instance (Portainer UI, logs, etc.)
|
||||
- How to set up the production environment from scratch (registry, Portainer, NPM, secrets)
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# nuzlocke-tracker-up0b
|
||||
title: Environment and secrets management
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:52Z
|
||||
updated_at: 2026-02-09T15:30:52Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Set up production environment variable and secrets management.
|
||||
|
||||
- Create a `.env.prod.example` template documenting all required variables
|
||||
- Decide on secret handling approach (`.env` file on Unraid, Portainer environment variables, etc.)
|
||||
- Ensure secrets are not committed to the repository (update `.gitignore` if needed)
|
||||
- Document how to set up secrets on a fresh Unraid deployment
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
# nuzlocke-tracker-vpn5
|
||||
title: Create production docker-compose file
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:41Z
|
||||
updated_at: 2026-02-09T15:30:41Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Create `docker-compose.prod.yml` for the Unraid production deployment.
|
||||
|
||||
- Reference pre-built images from the local Docker registry (not source volume mounts)
|
||||
- Set production environment variables (DEBUG=false, proper DATABASE_URL, etc.)
|
||||
- Proper restart policies (`unless-stopped` or `always`)
|
||||
- No source code volume mounts — only data volumes (e.g., postgres_data)
|
||||
- PostgreSQL with persistent named volume
|
||||
- Appropriate port mappings for the production environment
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# nuzlocke-tracker-xmyh
|
||||
title: Create production Dockerfiles
|
||||
status: todo
|
||||
type: task
|
||||
created_at: 2026-02-09T15:30:42Z
|
||||
updated_at: 2026-02-09T15:30:42Z
|
||||
parent: nuzlocke-tracker-ahza
|
||||
---
|
||||
|
||||
Create or adapt Dockerfiles for production builds (multi-stage where appropriate).
|
||||
|
||||
- **Frontend:** Build the Vite app and serve statically (e.g., via a lightweight nginx container or bundled into the API)
|
||||
- **API:** Run without debug mode, ensure Alembic migrations run on startup
|
||||
- Consider multi-stage builds to keep image sizes small
|
||||
- Ensure the images work when pulled from the local registry
|
||||
Reference in New Issue
Block a user