Files
Gondulf/docker-compose.development.yml
Phil Skentelbery 01dcaba86b 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>
2025-11-21 19:16:54 -07:00

52 lines
1.4 KiB
YAML

version: '3.8'
# Gondulf Development Configuration - MailHog and Live Reload
# Usage: podman-compose -f docker-compose.yml -f docker-compose.development.yml up
# Or: docker-compose -f docker-compose.yml -f docker-compose.development.yml up
services:
gondulf:
build:
context: .
dockerfile: Dockerfile
image: gondulf:dev
container_name: gondulf_dev
# Override with bind mounts for live code reload
volumes:
- ./data:/data:Z # :Z for SELinux (ignored on non-SELinux systems)
- ./src:/app/src:ro # Read-only source code mount for live reload
# Development environment settings
environment:
- GONDULF_DEBUG=true
- GONDULF_LOG_LEVEL=DEBUG
- GONDULF_SMTP_HOST=mailhog
- GONDULF_SMTP_PORT=1025
- GONDULF_SMTP_USE_TLS=false
- GONDULF_HTTPS_REDIRECT=false
- GONDULF_SECURE_COOKIES=false
# Override command for auto-reload
command: uvicorn gondulf.main:app --host 0.0.0.0 --port 8000 --reload
# MailHog for local email testing
mailhog:
image: mailhog/mailhog:latest
container_name: gondulf_mailhog
restart: unless-stopped
ports:
- "1025:1025" # SMTP port
- "8025:8025" # Web UI
networks:
- gondulf_network
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8025"]
interval: 10s
timeout: 5s
retries: 3
start_period: 5s