Files
Stirling-PDF/docker/compose/docker-compose-unified-backend.yml

59 lines
1.5 KiB
YAML

# 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$${SYSTEM_ROOTURIPATH:-''}/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