feat: live staging with auto-refresh on main push (Fixes #33)

- index.html: polls Gitea API every 30s for new commits on main;
  shows countdown banner and auto-reloads when SHA changes
- Dockerfile + docker-compose.yml: serve the site via nginx;
  main on :4200, staging on :4201
- deploy.sh: rebuild and restart a named service
- .gitea/workflows/deploy.yml: SSH-deploy to host on every push to main
  (requires DEPLOY_HOST / DEPLOY_USER / DEPLOY_SSH_KEY repo secrets)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Alexander Whitestone
2026-03-23 21:20:58 -04:00
parent 3725c933cf
commit c4547d2e52
5 changed files with 119 additions and 0 deletions

20
docker-compose.yml Normal file
View File

@@ -0,0 +1,20 @@
version: "3.9"
services:
nexus-main:
build: .
container_name: nexus-main
restart: unless-stopped
ports:
- "4200:80"
labels:
- "deployment=main"
nexus-staging:
build: .
container_name: nexus-staging
restart: unless-stopped
ports:
- "4201:80"
labels:
- "deployment=staging"