87 lines
2.2 KiB
YAML
87 lines
2.2 KiB
YAML
# Docker Compose configuration for development environment
|
|
version: '3.8'
|
|
|
|
services:
|
|
# Override main app for development
|
|
coby-app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: development
|
|
environment:
|
|
# Development overrides
|
|
ENVIRONMENT: development
|
|
DEBUG: true
|
|
LOG_LEVEL: DEBUG
|
|
|
|
# Database configuration
|
|
DB_HOST: timescaledb
|
|
DB_PORT: 5432
|
|
DB_NAME: ${DB_NAME:-market_data_dev}
|
|
DB_USER: ${DB_USER:-market_user}
|
|
DB_PASSWORD: ${DB_PASSWORD:-dev_password}
|
|
|
|
# Redis configuration
|
|
REDIS_HOST: redis
|
|
REDIS_PORT: 6379
|
|
REDIS_PASSWORD: ${REDIS_PASSWORD:-dev_redis}
|
|
|
|
# Development settings
|
|
PYTHONPATH: /app
|
|
FLASK_ENV: development
|
|
FLASK_DEBUG: 1
|
|
volumes:
|
|
# Mount source code for live reloading
|
|
- .:/app
|
|
- ./logs:/app/logs
|
|
- ./data:/app/data
|
|
ports:
|
|
- "8080:8080"
|
|
- "8081:8081"
|
|
- "5678:5678" # Debug port
|
|
command: ["python", "-m", "COBY.main", "--debug", "--reload"]
|
|
|
|
# Development database with different settings
|
|
timescaledb:
|
|
environment:
|
|
POSTGRES_DB: ${DB_NAME:-market_data_dev}
|
|
POSTGRES_USER: ${DB_USER:-market_user}
|
|
POSTGRES_PASSWORD: ${DB_PASSWORD:-dev_password}
|
|
POSTGRES_HOST_AUTH_METHOD: trust # Less secure for dev
|
|
ports:
|
|
- "5433:5432" # Different port to avoid conflicts
|
|
|
|
# Development Redis
|
|
redis:
|
|
ports:
|
|
- "6380:6379" # Different port to avoid conflicts
|
|
command: redis-server --requirepass ${REDIS_PASSWORD:-dev_redis}
|
|
|
|
# Hot-reload web dashboard
|
|
coby-dashboard-dev:
|
|
image: nginx:alpine
|
|
container_name: coby-dashboard-dev
|
|
ports:
|
|
- "3000:80"
|
|
volumes:
|
|
- ./web/static:/usr/share/nginx/html
|
|
- ./docker/nginx-dev.conf:/etc/nginx/nginx.conf:ro
|
|
networks:
|
|
- coby-network
|
|
depends_on:
|
|
- coby-app
|
|
|
|
# Development tools container
|
|
dev-tools:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
target: development
|
|
container_name: coby-dev-tools
|
|
volumes:
|
|
- .:/app
|
|
networks:
|
|
- coby-network
|
|
command: ["tail", "-f", "/dev/null"] # Keep container running
|
|
profiles:
|
|
- tools |