Stirling-PDF/docker
Anthony Stirling 7aae124236 Merge remote-tracking branch
'origin/codex/add-pdf-to-json-and-json-to-pdf-features' into demo
2025-11-14 15:50:48 +00:00
..
backend Merge remote-tracking branch 'origin/V2' into 2025-11-01 11:20:36 +00:00
compose Merge remote-tracking branch 'origin/V2' into 2025-11-01 11:20:36 +00:00
frontend Merge remote-tracking branch 'origin/V2' into 2025-11-10 00:51:12 +00:00
unified Settings display demo and login fix (#4884) 2025-11-14 13:02:45 +00:00
Dockerfile.unified Add audit system, invite links, and usage analytics (#4749) 2025-11-06 17:29:34 +00:00
README.md Feature/v2/googleDrive (#4592) 2025-10-09 10:22:17 +01:00

Docker Setup for Stirling-PDF

This directory contains the organized Docker configurations for the split frontend/backend architecture.

Directory Structure

docker/
├── backend/           # Backend Docker files
│   ├── Dockerfile            # Standard backend
│   ├── Dockerfile.ultra-lite # Minimal backend
│   └── Dockerfile.fat        # Full-featured backend
├── frontend/          # Frontend Docker files
│   ├── Dockerfile     # React/Vite frontend with nginx
│   ├── nginx.conf     # Nginx configuration
│   └── entrypoint.sh  # Dynamic backend URL setup
└── compose/           # Docker Compose files
    ├── docker-compose.yml           # Standard setup
    ├── docker-compose.ultra-lite.yml # Ultra-lite setup
    └── docker-compose.fat.yml       # Full-featured setup

Usage

From the project root directory:

# Standard version
docker-compose -f docker/compose/docker-compose.yml up --build

# Ultra-lite version
docker-compose -f docker/compose/docker-compose.ultra-lite.yml up --build

# Fat version
docker-compose -f docker/compose/docker-compose.fat.yml up --build

Access Points

Configuration

  • Backend URL: Set VITE_API_BASE_URL environment variable for custom backend locations
  • Custom Ports: Modify port mappings in docker-compose files
  • Memory Limits: Adjust memory limits per variant (2G ultra-lite, 4G standard, 6G fat)

Google Drive Integration

Development vs Production

  • Development: Keep backend port 8080 exposed for debugging
  • Production: Remove backend port exposure, use only frontend proxy