Files
ai.allucanget.biz/docker-compose.yml
T

59 lines
1.3 KiB
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: ai-backend
ports:
- "12015:12015"
environment:
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- JWT_SECRET=${JWT_SECRET}
- APP_URL=${APP_URL:-http://localhost}
- APP_NAME=${APP_NAME:-AI Allucanget}
- CORS_ORIGINS=${CORS_ORIGINS:-http://localhost:12016}
volumes:
- ./data:/app/data
networks:
- app-network
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:12015/health" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
container_name: ai-frontend
ports:
- "12016:12016"
environment:
- FLASK_SECRET_KEY=${FLASK_SECRET_KEY}
- BACKEND_URL=${BACKEND_URL:-http://backend:12015}
depends_on:
backend:
condition: service_healthy
networks:
- app-network
nginx:
image: nginx:alpine
container_name: ai-nginx
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/docker-compose.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- backend
- frontend
networks:
- app-network
networks:
app-network:
driver: bridge