# Example Docker Compose for Unified Stirling-PDF Container # MODE=BACKEND: Backend API only (no frontend) services: stirling-pdf-backend-only: container_name: Stirling-PDF-Backend-Only build: context: ../.. dockerfile: docker/Dockerfile.unified ports: - "8080:8080" volumes: - ./stirling/data:/usr/share/tessdata:rw - ./stirling/config:/configs:rw - ./stirling/logs:/logs:rw - ./stirling/customFiles:/customFiles:rw - ./stirling/pipeline:/pipeline:rw environment: # MODE parameter: BACKEND only MODE: BACKEND # Standard Stirling-PDF configuration DISABLE_ADDITIONAL_FEATURES: "false" DOCKER_ENABLE_SECURITY: "false" PUID: 1000 PGID: 1000 UMASK: "022" # Application settings SYSTEM_DEFAULTLOCALE: en-US UI_APPNAME: Stirling-PDF SYSTEM_MAXFILESIZE: "100" METRICS_ENABLED: "true" # Optional: Add OCR languages (comma-separated) # TESSERACT_LANGS: "deu,fra,spa" # Optional: Java memory settings # JAVA_CUSTOM_OPTS: "-Xmx4g" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s deploy: resources: limits: memory: 4G reservations: memory: 2G # Access the API at: http://localhost:8080/api # Swagger UI at: http://localhost:8080/swagger-ui/index.html