Stirling-PDF
50+ PDF tools in your browser, processed entirely on your server - the "free PDF site" without the data leak.
One-click deploy, from $13/mo on a Miget plan.
Everyone has uploaded a contract to a random "free PDF merge" site and felt vaguely bad about it. Stirling-PDF is that entire genre - 50+ tools: merge, split, compress, OCR, convert, sign, redact, watermark - running on YOUR server, where the documents already live and never leave.
One container with login enabled and the initial admin baked from env on first start. 65k GitHub stars of teams who decided document processing belongs in-house. The team-license math against per-seat PDF suites does itself.
Upstream project: Stirling-PDF
#what you get
- Merge, split, rotate, compress, convert (Office/image/PDF)
- OCR (tesseract; extra languages mountable)
- Sign, redact, watermark, flatten, permissions
- Pipelines for repeatable multi-step jobs
- Login enabled + env-baked initial admin
#topology
| Service | Role | Public |
|---|---|---|
| stirling-pdf | 50+ PDF tools (:5000) | yes (login) |
#miget sizing
// this stack needs
2 GiB RAM · 1 GB disk · 1 service
A JVM app: 1 GiB keeps common tools snappy; heavy OCR batches want heap and plan raised together.
Hobby - recommended fit
$13/mo
1 vCPU · 2 GiB · 50 GiB disk
Headroom for your own apps: 2 GiB at $19/mo
Professional - production
$22/mo
1 vCPU · 2 GiB · 10 GiB disk
Dedicated resources, production SLOs - plan details
One Miget plan is a fixed pool of compute - the whole stack (managed databases included) deploys inside it, and anything left over runs your other apps. No per-service or per-seat math.
#vs. the managed service
What the hosted equivalents charge, against the flat Miget plan this stack fits on. Prices as of June 2026, sources linked.
| Service | Plan | Monthly | What you get |
|---|---|---|---|
| Stirling-PDF on Miget ★ | 2 GiB plan | $13 | this whole stack, flat - no usage meters, and room left for your own apps |
| Adobe Acrobat | Standard (teams) | ~$17 | $16.99/license/mo (Pro $23.99); individual $14.99 |
| Stirling | Processor (hosted) | usage-based | usage-based $0.05 per PDF processed |
#vs. other PaaS
Estimated monthly cost of running this exact stack (2 GiB RAM, 1 GB disk, 1 container) elsewhere, from published June 2026 rates.
| Platform | Est. monthly | Notes |
|---|---|---|
| Miget ★ | $13 flat | compose stacks first-class: one deploy, dedicated vCPU, managed Postgres/Valkey, volumes and TLS all included in the plan |
| Heroku | ~$100 | no volumes; nothing between 1 GB ($50) and 2.5 GB ($250) dynos - 2 GB containers cost far more than shown |
| DO App Platform | ~$29 | no persistent volumes - stateful containers need managed DBs/Spaces (base $5 Spaces included here) |
| Render | ~$25 | per-service instances (0.5 GB $7, 2 GB $25) - every container is its own paid service |
| Railway | ~$20 | usage-based ($10/GB RAM-mo); vCPU billed separately at $20/vCPU-mo on top |
| Fly.io | ~$12 | cheapest sticker price - but burstable shared CPUs (1/16 core; dedicated vCPUs cost ~2-3×), no compose deploys (one app per container, manual wiring), managed DBs billed extra |
Estimates assume RAM fully allocated at published on-demand rates - and sticker price isn't the whole comparison: the cheaper rows buy burstable shared CPUs, per-service wiring instead of a compose deploy, and managed databases billed separately. Heroku and DO App Platform have no persistent volumes at all - stateful stacks like this one need workarounds there.
#deploy it
On Miget
- Create a Compose Stack in app.miget.com pointing at the templates repository
- Set the stack path to
stirling-pdf -
Set the required variable:
ADMIN_PASSWORD, initial admin (applied on first startup only)
- Deploy. Miget layers
compose.miget.yaml(RAM, privacy, volumes, managed services) automatically
Locally first?
Every template is portable, vanilla Docker Compose - the Miget overrides are ignored locally:
git clone https://github.com/deployable-sh/stacks
cd miget-compose-templates/stirling-pdf
docker compose up -d Same files, same behavior. The template README covers connection strings and scaling notes.
#faq
Why not just use the free PDF websites?
Because "free PDF site" means uploading contracts, payslips, and medical records to an unknown party’s server. Stirling-PDF gives the whole team the same tools where the documents already live - for one $7/month plan instead of per-seat PDF-suite licenses.
Does OCR work for my language?
English ships in; additional tesseract language packs mount at /usr/share/tessdata. OCR is the heaviest operation - batch jobs appreciate a bigger heap.
What is the license situation?
MIT core with some proprietary directories upstream (their paid/enterprise features). The 50+ tool set this template ships is the open part - feature gates, if you hit one, are upstream tiers, not template restrictions.
Ship Stirling-PDF today
One compose stack, 2 GiB of RAM, from $13/month flat, and it runs on your laptop with the same files.