64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| **Purpose**: This is a powerful locally hosted web based PDF manipulation tool using docker that allows you to perform various operations on PDF files, such as splitting merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application started as a 100% ChatGPT-made application and has evolved to include a wide range of features to handle all your PDF needs.
 | |
| 
 | |
| ## Docker Configuration
 | |
| ```yaml title="docker-compose.yml"
 | |
| version: "3.8"
 | |
| services:
 | |
|   app:
 | |
|     image: frooodle/s-pdf:latest
 | |
|     container_name: stirling-pdf
 | |
|     environment:
 | |
|       - TZ=America/Denver
 | |
|       - DOCKER_ENABLE_SECURITY=false
 | |
|     volumes:
 | |
|       - /srv/containers/stirling-pdf/datastore:/datastore
 | |
|       - /srv/containers/stirling-pdf/trainingData:/usr/share/tesseract-ocr/5/tessdata #Required for extra OCR languages
 | |
|       - /srv/containers/stirling-pdf/extraConfigs:/configs
 | |
|       - /srv/containers/stirling-pdf/customFiles:/customFiles/
 | |
|       - /srv/containers/stirling-pdf/logs:/logs/
 | |
|     ports:
 | |
|       - 8080:8080
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.stirling-pdf.rule=Host(`pdf.bunny-lab.io`)"
 | |
|       - "traefik.http.routers.stirling-pdf.entrypoints=websecure"
 | |
|       - "traefik.http.routers.stirling-pdf.tls.certresolver=letsencrypt"
 | |
|       - "traefik.http.services.stirling-pdf.loadbalancer.server.port=8080"
 | |
|     restart: always
 | |
|     networks:
 | |
|         docker_network:
 | |
|           ipv4_address: 192.168.5.54
 | |
| 
 | |
| networks:
 | |
|   default:
 | |
|     external:
 | |
|       name: docker_network
 | |
|   docker_network:
 | |
|     external: true
 | |
| ```
 | |
| 
 | |
| ```yaml title=".env"
 | |
| N/A
 | |
| ```
 | |
| 
 | |
| ## Traefik Reverse Proxy Configuration
 | |
| If the container does not run on the same host as Traefik, you will need to manually add configuration to Traefik's dynamic config file, outlined below.
 | |
| ```yaml
 | |
| http:
 | |
|   routers:
 | |
|     stirling-pdf:
 | |
|       entryPoints:
 | |
|         - websecure
 | |
|       tls:
 | |
|         certResolver: letsencrypt
 | |
|       http2:
 | |
|       service: stirling-pdf
 | |
|       rule: Host(`pdf.bunny-lab.io`)
 | |
| 
 | |
|   services:
 | |
|     stirling-pdf:
 | |
|       loadBalancer:
 | |
|         servers:
 | |
|           - url: http://192.168.5.54:8080
 | |
|         passHostHeader: true
 | |
| ``` |