Stirling PDF is a web-based, open-source PDF tool hosted locally via Docker, enabling operations like splitting, merging, converting, reorganizing, adding images, rotating, and compressing PDF files. Initially developed entirely by ChatGPT, it has evolved into a comprehensive solution for PDF management.
Docker Installation
For environments such as CentOS 7 with SSH access via Xshell7, install Docker if not already present. Skip these steps if Docker is installed.
Install necessary packages and set up the repository:
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
Install Docker Engine:
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
Start Docker and verify the installation:
sudo systemctl start docker
sudo docker run hello-world
Local Deployement of Stirling PDF
Check Docker service status:
systemctl status docker
Verify Docker and Docker Compose versions:
docker -v
docker compose version
Pull the Stirling PDF image from Docker Hub:
docker pull frooodle/s-pdf:latest
Create a container using Docker CLI and monitor its status:
docker ps
docker logs stirling-pdf
Access the application locally at 192.168.149.143:8380, replacing the IP with your server's address. Switch the interface language by clicking the globe icon and selecting Simplified Chinese.
Features of Stirling PDF
The tool offers an interactive GUI for merging, splitting, rotating, and rearrenging PDF pages. It supports combining multiple PDFs into one file, splitting PDFs by page ranges or extracting all pages individually, and converting PDFs to formats like Word, PowerPoint, and others. Common functionalities include converting Word documents to PDF and adding watermarks via the security menu.
To enable remote access without local deployment, use an internal network penetration tool like cpolar for public network connectivity.
Setting Up cpolar for Internal Network Penetration
Install cpolar using a one-line script:
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
Add and start the cpolar service:
sudo systemctl enable cpolar
sudo systemctl start cpolar
After installation, access the cpolar web interface at http://<server_local_ip>:9200 and log in with your cpolar account.
Configure a public HTTP address for Stirling PDF by creating a tunnel in the web interface:
- Tunnel Name: Custom name, unique from existing tunnels.
- Protocol: HTTP.
- Local Address: 8380.
- Domain Type: Free random domain.
- Region: China Top.
Once created, view the public addresses (HTTP and HTTPS) under Status > Online Tunnel List. Use the HTTPS address to access Stirling PDF from any device, eliminating the need for a cloud server.
Assigning a Fixed Public Address
For persistent remote access, set a fixed subdomain to avoid address changes every 24 hours and improve memorability. This requires upgrading cpolar to a Professional plan or higher.
Log into the cpolar website, navigate to Reservations > Reserve Secondary Subdomain, enter a subdomain name, and save it. Copy the reserved subdomain.
In the cpolar web UI, edit the existing tunnel under Tunnel Management > Tunnel List:
- Domain Type: Secondary Subdomain.
- Sub Domain: Enter the reserved subdomain. Click Update once to apply changes. The public address will now reflect the fixed subdomain, providing a permanent URL for remote access to Stirling PDF.