# Example Docker Compose for Unified Stirling-PDF Container # MODE=FRONTEND: Frontend only, connects to separate backend services: stirling-pdf-backend: container_name: Stirling-PDF-Backend build: context: ../.. dockerfile: docker/Dockerfile.unified ports: - "8081: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: BACKEND DISABLE_ADDITIONAL_FEATURES: "false" DOCKER_ENABLE_SECURITY: "false" PUID: 1000 PGID: 1000 UMASK: "022" restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/api/v1/info/status || exit 1"] interval: 30s timeout: 10s retries: 3 deploy: resources: limits: memory: 4G stirling-pdf-frontend: container_name: Stirling-PDF-Frontend build: context: ../.. dockerfile: docker/Dockerfile.unified ports: - "8080:8080" environment: MODE: FRONTEND # Point to the backend service VITE_API_BASE_URL: http://stirling-pdf-backend:8080 # Minimal config needed for frontend PUID: 1000 PGID: 1000 depends_on: - stirling-pdf-backend restart: unless-stopped healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:8080/ || exit 1"] interval: 30s timeout: 10s retries: 3 deploy: resources: limits: memory: 512M