# Docling PDF Processor — demo container. # # docker compose up --build # # Then open http://localhost:8010 # # Secrets are read from the local .env file (gitignored) and injected into the # container at runtime — they are NOT baked into the image. Put your real # OPENROUTER_API_KEY and GROQ_API_KEY in .env before starting. services: docling: build: . image: docling-pdf-processor:latest container_name: docling-pdf-processor ports: - "8010:8010" env_file: - .env environment: # Gradio must listen on 0.0.0.0 inside the container to be reachable. GRADIO_SERVER_NAME: 0.0.0.0 GRADIO_SERVER_PORT: "8010" # Keep model downloads inside the named volume below (persist across runs). HF_HOME: /app/.cache/huggingface volumes: # Persist downloaded HuggingFace / docling model weights across restarts. - hf-cache:/app/.cache/huggingface restart: unless-stopped volumes: hf-cache: