7 Commits

Author SHA1 Message Date
0a8d17a588 fix: use relative paths for postgres data and backups to avoid root permission issues
All checks were successful
Deploy to Production / deploy (push) Successful in 1m58s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:42:23 +09:00
75a408362e fix: use host bind mount for postgres data to prevent data loss on deploy
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:26:55 +09:00
eadc935e46 fix: add ADMIN_* env vars to deploy workflow .env.prod generation
All checks were successful
Deploy to Production / deploy (push) Successful in 1m7s
Without these variables the admin user seed was skipped in production.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:28:08 +09:00
070f74d978 fix: use 127.0.0.1 instead of localhost in health checks
All checks were successful
Deploy to Production / deploy (push) Successful in 1m35s
Alpine's wget resolves localhost to IPv6 [::1] first, but Next.js
standalone listens on 0.0.0.0 (IPv4 only), causing connection refused.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 00:12:59 +09:00
e22241dbc4 fix(ci): use retry loop for frontend health check
Some checks failed
Deploy to Production / deploy (push) Failing after 3m32s
The frontend container needs more time to initialize. Replace fixed
sleep with a retry loop that polls the container health status up to
30 times (150s max) before checking.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 23:58:06 +09:00
f43f26f43c fix(ci): redesign deploy workflow for containerized Act Runner
Some checks failed
Deploy to Production / deploy (push) Failing after 1m14s
- Install Docker CLI + Compose plugin in job container
- Remove rsync dependency (work directly from checkout workspace)
- Use --project-name for consistent compose project naming
- Use --env-file for compose variable substitution
- Use docker exec for health checks (job container can't reach host ports)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 23:40:23 +09:00
39d2226d95 feat: production deployment setup with Gitea Actions CI/CD
Some checks failed
Deploy to Production / deploy (push) Failing after 46s
- Remove nginx from docker-compose.prod.yml (NPM handles reverse proxy)
- Add Next.js rewrites to proxy /api/* to backend (backend fully hidden)
- Bind frontend to 127.0.0.1:3000 only (NPM proxies externally)
- Replace hardcoded localhost:8000 in history page with api client
- Make CORS origins configurable via environment variable
- Restrict CORS methods to GET/POST/PUT/DELETE
- Add Gitea Actions deploy workflow with secrets-based env management
- Add security headers (X-Frame-Options, X-Content-Type-Options, Referrer-Policy)
- Add BACKEND_URL build arg to frontend Dockerfile for standalone builds

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 23:09:22 +09:00