feat: add production container support with health check endpoint

Implements Phase 5 containerization specification:
- Add /health endpoint for container monitoring
- Create multi-stage Containerfile (Podman/Docker compatible)
- Add compose.yaml for orchestration
- Add Caddyfile.example for reverse proxy (auto-HTTPS)
- Add nginx.conf.example as alternative
- Update .env.example with container and RSS feed variables
- Add gunicorn WSGI server to requirements.txt

Container features:
- Multi-stage build for smaller image size
- Non-root user (starpunk:1000)
- Health check with database connectivity test
- Volume mount for data persistence
- Resource limits and logging configuration
- Security headers and HTTPS configuration examples

Health check endpoint:
- Tests database connectivity
- Verifies filesystem access
- Returns JSON with status, version, and environment

Following Phase 5 design in docs/designs/phase-5-rss-and-container.md
This commit is contained in:
2025-11-19 10:02:41 -07:00
parent fbbc9c6d81
commit c559f89a7f
8 changed files with 633 additions and 0 deletions

View File

@@ -4,6 +4,9 @@
# Web Framework
Flask==3.0.*
# WSGI Server (Production)
gunicorn==21.2.*
# Content Processing
markdown==3.5.*