first commit

This commit is contained in:
2025-11-19 01:09:25 -03:00
parent e7a380f36e
commit be10a888fb
28 changed files with 2481 additions and 464 deletions

View File

@@ -1,64 +1,63 @@
version: '3.8'
services:
postgres:
image: postgres:15-alpine
container_name: checklist-db-prod
container_name: syntria-db-prod
environment:
POSTGRES_DB: ${POSTGRES_DB:-checklist_db}
POSTGRES_USER: ${POSTGRES_USER:-checklist_user}
POSTGRES_DB: ${POSTGRES_DB:-syntria_db}
POSTGRES_USER: ${POSTGRES_USER:-syntria_user}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- app-network
restart: unless-stopped
- ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-checklist_user}"]
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-syntria_user} -d ${POSTGRES_DB:-syntria_db}"]
interval: 10s
timeout: 5s
retries: 5
restart: always
networks:
- syntria-network
backend:
build:
context: ./backend
dockerfile: Dockerfile
container_name: checklist-backend-prod
image: ${DOCKER_USERNAME}/syntria-backend:latest
container_name: syntria-backend-prod
environment:
DATABASE_URL: postgresql://${POSTGRES_USER:-checklist_user}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-checklist_db}
DATABASE_URL: postgresql://${POSTGRES_USER:-syntria_user}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB:-syntria_db}
SECRET_KEY: ${SECRET_KEY}
OPENAI_API_KEY: ${OPENAI_API_KEY}
ENVIRONMENT: production
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS}
ALLOWED_ORIGINS: ${ALLOWED_ORIGINS:-http://localhost,http://localhost:5173}
ports:
- "8000:8000"
volumes:
- ./uploads:/app/uploads
- uploads_data:/app/uploads
depends_on:
postgres:
condition: service_healthy
restart: always
networks:
- app-network
restart: unless-stopped
- syntria-network
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --workers 4
frontend:
build:
context: ./frontend
dockerfile: Dockerfile.prod
args:
VITE_API_URL: ${VITE_API_URL}
container_name: checklist-frontend-prod
image: ${DOCKER_USERNAME}/syntria-frontend:latest
container_name: syntria-frontend-prod
ports:
- "80:80"
environment:
- VITE_API_URL=${API_URL:-http://localhost:8000}
restart: always
networks:
- syntria-network
depends_on:
- backend
networks:
- app-network
restart: unless-stopped
volumes:
postgres_data:
uploads_data:
networks:
app-network:
syntria-network:
driver: bridge