my-recipes/backend/docker-compose.yaml
2026-01-04 22:04:55 +02:00

74 lines
1.8 KiB
YAML

version: "3.9"
services:
backend:
build: ./backend
container_name: recipes-backend
restart: unless-stopped
ports:
- "8000:8000"
environment:
# Database Configuration (RDS)
DATABASE_URL: postgresql://${DB_USER}:${DB_PASSWORD}@${DB_HOST}:${DB_PORT}/${DB_NAME}
DB_USER: ${DB_USER}
DB_PASSWORD: ${DB_PASSWORD}
DB_NAME: ${DB_NAME}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT:-5432}
# Email Configuration
SMTP_HOST: ${SMTP_HOST}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USER: ${SMTP_USER}
SMTP_PASSWORD: ${SMTP_PASSWORD}
SMTP_FROM: ${SMTP_FROM}
# Google OAuth
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
GOOGLE_REDIRECT_URI: ${GOOGLE_REDIRECT_URI}
# Microsoft Azure OAuth
AZURE_CLIENT_ID: ${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET: ${AZURE_CLIENT_SECRET}
AZURE_TENANT_ID: ${AZURE_TENANT_ID:-consumers}
AZURE_REDIRECT_URI: ${AZURE_REDIRECT_URI}
# Frontend URL
FRONTEND_URL: ${FRONTEND_URL}
# Cloudflare R2 Backup Configuration
R2_ENDPOINT: ${R2_ENDPOINT}
R2_ACCESS_KEY: ${R2_ACCESS_KEY}
R2_SECRET_KEY: ${R2_SECRET_KEY}
R2_BUCKET_NAME: ${R2_BUCKET_NAME}
# Backup Schedule
BACKUP_INTERVAL: ${BACKUP_INTERVAL:-weekly}
env_file:
- .env
volumes:
- ./backups:/app/backups
- ./restores:/app/restores
networks:
- recipes-network
frontend:
build: ./frontend
container_name: recipes-frontend
restart: unless-stopped
ports:
- "80:80"
environment:
VITE_API_URL: ${VITE_API_URL:-http://localhost:8000}
depends_on:
- backend
networks:
- recipes-network
networks:
recipes-network:
driver: bridge