version: '3.8'

services:
  backend:
    # L'immagine usa il tag specificato nel file .env o passato da riga di comando
    image: ${REGISTRY_URL}/${REPO_OWNER}/print-calculator-backend:${TAG}
    container_name: print-calculator-backend-${ENV}
    ports:
      - "${BACKEND_PORT}:8000"
    env_file:
      - .env
    environment:
      - DB_URL=${DB_URL}
      - DB_USERNAME=${DB_USERNAME}
      - DB_PASSWORD=${DB_PASSWORD}
      - TEMP_DIR=/app/temp
      - PROFILES_DIR=/app/profiles
      - CLAMAV_HOST=host.docker.internal
      - CLAMAV_PORT=3310
      - STORAGE_LOCATION=/app/storage
    restart: always
    volumes:
      - backend_profiles_${ENV}:/app/profiles
      - /mnt/cache/appdata/print-calculator/${ENV}/storage_quotes:/app/storage/quotes
      - /mnt/cache/appdata/print-calculator/${ENV}/storage_orders:/app/storage/orders
    extra_hosts:
      - "host.docker.internal:host-gateway"


  frontend:
    image: ${REGISTRY_URL}/${REPO_OWNER}/print-calculator-frontend:${TAG}
    container_name: print-calculator-frontend-${ENV}
    ports:
      - "${FRONTEND_PORT}:80"
    depends_on:
      - backend
    restart: always

volumes:
  backend_profiles_prod:
  backend_profiles_int:
  backend_profiles_dev:
