docs: update deployment docs for CI timeouts, build info, and prod safety
- hetzner-server-setup: runner timeout 3h, shutdown_timeout 300s, deploy.sh now writes .build-info and uses explicit -f flag - gitea: document unit-only CI tests and xdist incompatibility - docker: add build info section, document volume mount approach Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -331,6 +331,25 @@ docker compose -f docker-compose.prod.yml exec api python scripts/seed/init_prod
|
||||
|
||||
---
|
||||
|
||||
## Build Info
|
||||
|
||||
The deploy script writes a `.build-info` JSON file (commit SHA + deploy timestamp) before rebuilding containers. This file is mounted as a read-only volume into the API container:
|
||||
|
||||
```yaml
|
||||
# In docker-compose.yml
|
||||
volumes:
|
||||
- ./.build-info:/app/.build-info:ro
|
||||
```
|
||||
|
||||
The app reads it via `app/core/build_info.py` and exposes it in:
|
||||
|
||||
- **`/health` endpoint** — `commit` and `deployed_at` fields
|
||||
- **Admin sidebar** — version, commit, and deploy timestamp
|
||||
|
||||
In local development (where `.build-info` doesn't exist), the app falls back to `git rev-parse` for the commit SHA.
|
||||
|
||||
---
|
||||
|
||||
## Daily Operations
|
||||
|
||||
### View Logs
|
||||
|
||||
Reference in New Issue
Block a user