- Removed outdated and redundant Alembic migration files to streamline the migration directory. This improves maintainability and eliminates duplicate or unused scripts.
76 lines
1.7 KiB
YAML
76 lines
1.7 KiB
YAML
services:
|
|
db:
|
|
image: postgres:17-alpine
|
|
volumes:
|
|
- postgres_data_dev:/var/lib/postgresql/data/
|
|
environment:
|
|
- POSTGRES_USER=${POSTGRES_USER}
|
|
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
|
- POSTGRES_DB=${POSTGRES_DB}
|
|
ports:
|
|
- "5432:5432"
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER}"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- app-network
|
|
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
target: development
|
|
volumes:
|
|
- ./backend:/app
|
|
- ./uploads:/app/uploads
|
|
# Exclude local .venv from bind mount to use container's .venv
|
|
- /app/.venv
|
|
ports:
|
|
- "8000:8000"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- DATABASE_URL=${DATABASE_URL}
|
|
- SECRET_KEY=${SECRET_KEY}
|
|
- ENVIRONMENT=development
|
|
- DEBUG=true
|
|
- BACKEND_CORS_ORIGINS=${BACKEND_CORS_ORIGINS}
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
networks:
|
|
- app-network
|
|
command: ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
|
|
|
|
frontend:
|
|
build:
|
|
context: ./frontend
|
|
dockerfile: Dockerfile
|
|
target: deps
|
|
args:
|
|
- NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
|
|
volumes:
|
|
- ./frontend:/app
|
|
- frontend_dev_modules:/app/node_modules
|
|
- frontend_dev_next:/app/.next
|
|
ports:
|
|
- "3000:3000"
|
|
environment:
|
|
- NODE_ENV=development
|
|
- NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL}
|
|
depends_on:
|
|
- backend
|
|
command: npm run dev
|
|
networks:
|
|
- app-network
|
|
|
|
volumes:
|
|
postgres_data_dev:
|
|
frontend_dev_modules:
|
|
frontend_dev_next:
|
|
|
|
networks:
|
|
app-network:
|
|
driver: bridge |