Files
Stirling-PDF/docker
Anthony Stirling d959d49a1e Merge remote-tracking branch 'origin/main' into lane6654
# Conflicts:
#	.gitignore
#	app/core/build.gradle
#	app/core/src/main/java/stirling/software/SPDF/controller/api/misc/OCRController.java
#	app/core/src/main/java/stirling/software/SPDF/service/WeeklyActiveUsersService.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/AccountLinkController.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/AccountLinkProperties.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/AccountLinkService.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/AccountLinkSyncStateRepository.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/MeteredInputSignatureRepository.java
#	app/proprietary/src/main/java/stirling/software/proprietary/accountlink/UsageCounterRepository.java
#	app/proprietary/src/main/java/stirling/software/proprietary/cluster/valkey/ValkeyJobStore.java
#	app/proprietary/src/main/java/stirling/software/proprietary/failure/FileRunEventRepository.java
#	app/proprietary/src/main/java/stirling/software/proprietary/security/CustomLogoutSuccessHandler.java
#	app/proprietary/src/main/java/stirling/software/proprietary/security/configuration/SecurityConfiguration.java
#	app/proprietary/src/main/java/stirling/software/proprietary/security/oauth2/CustomOAuth2AuthenticationFailureHandler.java
#	app/proprietary/src/main/java/stirling/software/proprietary/security/saml2/CustomSaml2ResponseAuthenticationConverter.java
#	app/proprietary/src/main/java/stirling/software/proprietary/service/ua/FontEmbeddingService.java
#	app/proprietary/src/main/java/stirling/software/proprietary/web/AuditWebFilter.java
#	app/proprietary/src/main/java/stirling/software/proprietary/workflow/controller/WorkflowParticipantController.java
#	app/proprietary/src/main/java/stirling/software/proprietary/workflow/service/WorkflowSessionService.java
#	app/saas/src/main/java/stirling/software/saas/accountlink/AccountLinkController.java
#	app/saas/src/main/java/stirling/software/saas/ai/controller/AiCreateController.java
#	app/saas/src/main/java/stirling/software/saas/ai/controller/AiCreateInternalController.java
#	app/saas/src/main/java/stirling/software/saas/legal/LegalDocumentRegistry.java
#	app/saas/src/main/java/stirling/software/saas/payg/entitlement/EntitlementGuard.java
#	app/saas/src/main/java/stirling/software/saas/procurement/legal/AgreementAssembler.java
#	app/saas/src/main/java/stirling/software/saas/procurement/service/ProcurementService.java
#	app/saas/src/main/java/stirling/software/saas/security/SupabaseSecurityConfig.java
#	build.gradle
#	docker/embedded/Dockerfile
#	docker/embedded/Dockerfile.fat
#	engine/src/stirling/models/tool_models.py
2026-09-02 10:14:55 +01:00
..

Docker Setup for Stirling-PDF

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

All Docker commands can be run from the project root using Task:

task docker:build            # Build standard image
task docker:build:fat        # Build fat image (all features)
task docker:build:ultra-lite # Build ultra-lite image
task docker:build:frontend   # Build frontend-only image
task docker:build:engine     # Build engine image
task docker:up               # Start standard compose stack
task docker:up:fat           # Start fat compose stack
task docker:up:ultra-lite    # Start ultra-lite compose stack
task docker:down             # Stop all running stacks
task docker:logs             # Tail compose logs

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