feat(deploy): merge Phase 5a deployment configuration

Complete containerized deployment system with Docker/Podman support.

Key features:
- Multi-stage Dockerfile with Python 3.11-slim base
- Docker Compose configurations for production and development
- Nginx reverse proxy with security headers and rate limiting
- Systemd service units for Docker, Podman, and docker-compose
- Backup/restore scripts with integrity verification
- Podman compatibility (ADR-009)

All tests pass including Podman verification testing.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-21 19:16:54 -07:00
parent d3c3e8dc6b
commit 01dcaba86b
22 changed files with 6353 additions and 18 deletions

107
.dockerignore Normal file
View File

@@ -0,0 +1,107 @@
# Gondulf - Docker Build Context Exclusions
# Reduces build context size and build time
# Git
.git
.gitignore
.gitattributes
# Python
__pycache__
*.py[cod]
*$py.class
*.so
.Python
*.egg
*.egg-info/
dist/
build/
*.whl
.venv/
venv/
env/
ENV/
# Testing and Coverage
.pytest_cache/
.coverage
htmlcov/
.tox/
.hypothesis/
*.cover
*.log
# Documentation
docs/
*.md
!README.md
# IDE and Editor files
.vscode/
.idea/
*.swp
*.swo
*.swn
.DS_Store
*.sublime-*
.project
.pydevproject
# Environment and Configuration
.env
.env.*
!.env.example
# Data and Runtime
data/
backups/
*.db
*.db-journal
*.db-wal
*.db-shm
# Deployment files (not needed in image except entrypoint)
docker-compose*.yml
Dockerfile*
.dockerignore
deployment/nginx/
deployment/systemd/
deployment/scripts/
deployment/README.md
# Note: deployment/docker/entrypoint.sh is needed in the image
# CI/CD
.github/
.gitlab-ci.yml
.travis.yml
Jenkinsfile
# OS files
.DS_Store
Thumbs.db
desktop.ini
# Temporary files
*.tmp
*.temp
*.bak
*.backup
*~
# Logs
logs/
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Lock files (we keep uv.lock, exclude others)
package-lock.json
yarn.lock
Pipfile.lock
# Misc
.cache/
*.pid
*.seed
*.pid.lock