96 lines
2.3 KiB
YAML
96 lines
2.3 KiB
YAML
version: "3.8"
|
|
|
|
# Development overrides for docker-compose.yml
|
|
# Use with: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
|
|
services:
|
|
bot:
|
|
build:
|
|
target: development
|
|
args:
|
|
INSTALL_AI: true
|
|
image: guardden:dev
|
|
container_name: guardden-bot-dev
|
|
environment:
|
|
- GUARDDEN_LOG_LEVEL=DEBUG
|
|
- PYTHONDONTWRITEBYTECODE=1
|
|
- PYTHONUNBUFFERED=1
|
|
volumes:
|
|
# Mount source code for hot reloading
|
|
- ./src:/app/src:ro
|
|
- ./tests:/app/tests:ro
|
|
- ./migrations:/app/migrations:ro
|
|
- ./pyproject.toml:/app/pyproject.toml:ro
|
|
- ./pytest.ini:/app/pytest.ini:ro
|
|
- ./alembic.ini:/app/alembic.ini:ro
|
|
# Mount data and logs for development
|
|
- ./data:/app/data
|
|
- ./logs:/app/logs
|
|
command: ["python", "-m", "guardden", "--reload"]
|
|
ports:
|
|
- "5678:5678" # Debugger port
|
|
stdin_open: true
|
|
tty: true
|
|
|
|
db:
|
|
environment:
|
|
- POSTGRES_PASSWORD=guardden_dev
|
|
volumes:
|
|
# Override with development-friendly settings
|
|
- postgres_dev_data:/var/lib/postgresql/data
|
|
command:
|
|
- postgres
|
|
- -c
|
|
- log_statement=all
|
|
- -c
|
|
- log_duration=on
|
|
- -c
|
|
- "log_line_prefix=%t [%p]: [%l-1] user=%u,db=%d,app=%a,client=%h"
|
|
|
|
redis:
|
|
command: redis-server --appendonly yes --requirepass guardden_redis_dev --loglevel debug
|
|
|
|
# Development tools
|
|
mailhog:
|
|
image: mailhog/mailhog:latest
|
|
container_name: guardden-mailhog
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1025:1025" # SMTP
|
|
- "8025:8025" # Web UI
|
|
networks:
|
|
- guardden
|
|
|
|
# Database administration
|
|
pgadmin:
|
|
image: dpage/pgadmin4:latest
|
|
container_name: guardden-pgadmin
|
|
restart: unless-stopped
|
|
environment:
|
|
- PGADMIN_DEFAULT_EMAIL=admin@guardden.dev
|
|
- PGADMIN_DEFAULT_PASSWORD=admin
|
|
ports:
|
|
- "5050:80"
|
|
volumes:
|
|
- pgadmin_data:/var/lib/pgadmin
|
|
networks:
|
|
- guardden
|
|
|
|
# Redis administration
|
|
redis-commander:
|
|
image: rediscommander/redis-commander:latest
|
|
container_name: guardden-redis-commander
|
|
restart: unless-stopped
|
|
environment:
|
|
- REDIS_HOST=redis
|
|
- REDIS_PORT=6379
|
|
- REDIS_PASSWORD=guardden_redis_dev
|
|
ports:
|
|
- "8081:8081"
|
|
networks:
|
|
- guardden
|
|
|
|
volumes:
|
|
postgres_dev_data:
|
|
pgadmin_data:
|