Files
recipe-app/recipe-document-converter/docker-compose.your-setup.yml
T
2026-04-11 16:46:48 +02:00

90 lines
2.5 KiB
YAML

services:
recipe-frontend:
image: recipe-frontend:local
container_name: recipe-frontend
restart: unless-stopped
environment:
NODE_ENV: "production"
HOSTNAME: "0.0.0.0"
PORT: "3000"
NEXT_PUBLIC_APP_URL: "https://recept.gynther.se"
NEXT_PUBLIC_API_URL: "https://api.recept.gynther.se"
NEXT_PUBLIC_API_URL_INTERNAL: "http://recipe-api:8080"
networks:
- proxy
- recipe-internal
recipe-api:
image: recipe-api:local
container_name: recipe-api
restart: unless-stopped
depends_on:
recipe-db:
condition: service_healthy
recipe-import-service:
condition: service_healthy
environment:
NODE_ENV: "production"
DATABASE_URL: "mysql://recipe_user:Imminent-Umpire-Undertook8-Crunchy@recipe-db:3306/recipe_app"
# New: Import service URL for backend to call
IMPORT_SERVICE_URL: "http://recipe-import-service:3000"
networks:
- proxy
- recipe-internal
recipe-db:
image: mariadb:11
container_name: recipe-db
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: "Encrust6-Deserve-Stricken-Spectacle"
MARIADB_DATABASE: "recipe_app"
MARIADB_USER: "recipe_user"
MARIADB_PASSWORD: "Imminent-Umpire-Undertook8-Crunchy"
volumes:
- recipe_db_data:/var/lib/mysql
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
networks:
- recipe-internal
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
retries: 5
# === NEW: Import Service (Document Converter) ===
recipe-import-service:
build:
context: ./recipe-document-converter/recipe-document-converter
dockerfile: Dockerfile
image: recipe-import-service:local
container_name: recipe-import-service
restart: unless-stopped
environment:
NODE_ENV: "production"
PORT: "3000"
LOG_LEVEL: "info"
MAX_FILE_SIZE: "50000000"
volumes:
- recipe_imports:/app/uploads
networks:
- recipe-internal # Only internal communication with recipe-api
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
volumes:
recipe_db_data:
recipe_imports:
networks:
proxy:
external: true
recipe-internal:
driver: bridge