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:
78
.containerignore
Normal file
78
.containerignore
Normal file
@@ -0,0 +1,78 @@
|
||||
# Container Build Exclusions
|
||||
# Exclude files not needed in production container image
|
||||
|
||||
# Git
|
||||
.git
|
||||
.gitignore
|
||||
.gitattributes
|
||||
|
||||
# Python
|
||||
__pycache__
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyd
|
||||
.Python
|
||||
*.so
|
||||
*.egg
|
||||
*.egg-info
|
||||
dist
|
||||
build
|
||||
.pytest_cache
|
||||
.coverage
|
||||
htmlcov
|
||||
.tox
|
||||
.hypothesis
|
||||
|
||||
# Virtual environments
|
||||
venv
|
||||
env
|
||||
.venv
|
||||
.env.local
|
||||
|
||||
# Development data
|
||||
data
|
||||
container-data
|
||||
*.db
|
||||
*.db-journal
|
||||
|
||||
# IDE
|
||||
.vscode
|
||||
.idea
|
||||
*.swp
|
||||
*.swo
|
||||
*~
|
||||
.DS_Store
|
||||
|
||||
# Documentation (optional - include if needed for offline docs)
|
||||
docs
|
||||
*.md
|
||||
!README.md
|
||||
|
||||
# Tests (not needed in production)
|
||||
tests
|
||||
.pytest_cache
|
||||
|
||||
# Development scripts
|
||||
dev_auth.py
|
||||
test_*.py
|
||||
|
||||
# Container files
|
||||
Containerfile
|
||||
compose.yaml
|
||||
.containerignore
|
||||
docker-compose.yml
|
||||
Dockerfile
|
||||
|
||||
# CI/CD
|
||||
.github
|
||||
.gitlab-ci.yml
|
||||
.travis.yml
|
||||
|
||||
# Logs
|
||||
*.log
|
||||
logs
|
||||
|
||||
# Temporary files
|
||||
tmp
|
||||
temp
|
||||
*.tmp
|
||||
Reference in New Issue
Block a user