Files
java-template/ljwx-fastapi/docker-compose.dev.yml
T
2025-11-28 19:05:59 +08:00

68 lines
1.5 KiB
YAML

version: '3.8'
services:
# Development FastAPI Application with hot reload
app:
build:
context: .
dockerfile: Dockerfile
container_name: ljwx-fastapi-dev
ports:
- "${PORT:-5115}:8000"
environment:
- DATABASE_HOST=postgres
- DATABASE_PORT=5432
- DATABASE_NAME=${DATABASE_NAME:-template}
- DATABASE_USER=${DATABASE_USER:-postgres}
- DATABASE_PASSWORD=${DATABASE_PASSWORD:-postgres}
- REDIS_HOST=redis
- REDIS_PORT=6379
- DEBUG=true
- RELOAD=true
depends_on:
- postgres
- redis
volumes:
- .:/app # Mount entire project for hot reload
- ./logs:/app/logs
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
restart: unless-stopped
networks:
- ljwx-network
# PostgreSQL Database
postgres:
image: postgres:15-alpine
container_name: ljwx-postgres-dev
environment:
- POSTGRES_DB=${DATABASE_NAME:-template}
- POSTGRES_USER=${DATABASE_USER:-postgres}
- POSTGRES_PASSWORD=${DATABASE_PASSWORD:-postgres}
ports:
- "5432:5432"
volumes:
- postgres-data-dev:/var/lib/postgresql/data
restart: unless-stopped
networks:
- ljwx-network
# Redis Cache
redis:
image: redis:7-alpine
container_name: ljwx-redis-dev
ports:
- "6379:6379"
volumes:
- redis-data-dev:/data
restart: unless-stopped
networks:
- ljwx-network
networks:
ljwx-network:
driver: bridge
volumes:
postgres-data-dev:
redis-data-dev: