services:
  backend:
    build:
      context: ../..
      dockerfile: docker/backend/Dockerfile.ultra-lite
    container_name: Stirling-PDF-Ultra-Lite
    restart: unless-stopped
    deploy:
      resources:
        limits:
          memory: 2G
    healthcheck:
      test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status | grep -q 'UP'"]
      interval: 5s
      timeout: 10s
      retries: 16
    ports:
      - "8080:8080"
    volumes:
      - ../../stirling/latest/config:/configs:rw
      - ../../stirling/latest/logs:/logs:rw
    environment:
      DISABLE_ADDITIONAL_FEATURES: "true"
      SECURITY_ENABLELOGIN: "false"
      ENDPOINTS_GROUPS_TO_REMOVE: "CLI"
      SYSTEM_DEFAULTLOCALE: en-US
      UI_APPNAME: Stirling-PDF-Ultra-lite
      UI_HOMEDESCRIPTION: Demo site for Stirling-PDF-Ultra-lite Latest
      UI_APPNAMENAVBAR: Stirling-PDF-Ultra-lite Latest
      SYSTEM_MAXFILESIZE: "100"
      METRICS_ENABLED: "true"
      SYSTEM_GOOGLEVISIBILITY: "true"
      SHOW_SURVEY: "true"
    networks:
      - stirling-network

  frontend:
    build:
      context: ../..
      dockerfile: docker/frontend/Dockerfile
    container_name: stirling-pdf-frontend-ultra-lite
    restart: unless-stopped
    ports:
      - "3000:80"
    environment:
      BACKEND_URL: http://backend:8080
    depends_on:
      - backend
    networks:
      - stirling-network

networks:
  stirling-network:
    driver: bridge

volumes:
  stirling-data:
  stirling-config:
  stirling-logs:
