ComPDF Self-hosted (Part of the KDAN ecosystem) enables rapid on-premises deployment via Docker containers, empowering you to seamlessly edit, convert, and process documents across various formats, including PDF, Office, HTML, TXT, CSV, RTF, JSON, and images.
- If you find ComPDF Self-hosted useful, please consider giving us a ⭐ Star on GitHub. It helps us grow and improve.
- Got questions or ideas? Join the conversation in our Discussions.
Features • Quick Start • Architecture • Upgrade to Enterprise • support • License • Enterprise →
Unlike traditional SDKs that require deep integration, ComPDF Self-hosted is a ready-to-deploy open-source PDF processing platform. It combines PDF editing and conversion capabilities, while also supporting image format conversion—covering the full spectrum from documents to images. This enables enterprises to quickly establish a fully controllable, self-owned document center.
- Docker Compose deployment
- Complete PDF tool center — edit, convert, merge, split
- API key management and license management
- Private deployment with enterprise-ready architecture
- Commercial support and dedicated assistance available
Whether you're building an internal document platform, document automation workflow, or enterprise PDF service, ComPDF Self-hosted helps you get started in minutes.
ComPDF Self-Hosted provides a ready-to-use open source PDF editor, open source PDF converter, and open source image converter center directly accessible through a browser.
| Category | Features |
|---|---|
| PDF Editing | Merge PDF, Split PDF, Rotate PDF, Insert Pages, Delete Pages, Extract Pages, Add Watermark, Remove Watermark, Encrypt PDF, Decrypt PDF |
| PDF to Others | PDF to Word, PDF to Excel, PDF to Slide, PDF to Image (PNG, JPG, JPEG, JPEG2000, BMP, TIFF, TGA, GIF, WEBP), PDF to HTML, PDF to TXT, PDF to CSV, PDF to RTF, PDF to JSON, PDF to SearchablePDF, PDF to OFD, PDF to Markdown, Word to PDF, Excel to PDF |
| Others to PDF | Slide to PDF, HTML to PDF, TXT to PDF, CSV to PDF, RTF to PDF, PNG to PDF |
| Image to Others | Image to Word, Image to Excel, Image to Slide, Image to HTML, Image to CSV, Image to TXT, Image to RTF, Images to JSON, Images to PDF |
ComPDF Self-hosted provides a unified management console for viewing API Key details, API usage, and License status, as well as supporting operation log auditing, account management, and core system configuration.
-
Overview Panel: Displays API Key details, API usage statistics, License scope, and usage status.
-
Operation Logs: Track, search, and export all the operation logs.
-
Account Management: Set the user name and password.
-
System Settings: Set the name, logo, theme color of the system.
- Clone the repository and enter the project directory:
git clone https://github.com/ComPDFKit/compdf-self-hosted.git
cd compdf-self-hosted- Prepare the environment file before starting services:
cp .env.example .env.env includes a free License by default for local development, feature
evaluation, and API verification. Docker Compose automatically loads .env
from the project directory.
- Start the full stack:
docker compose up -d- Open ComPDF Web and Dashboard:
ComPDF Web: http://localhost:8080/
Dashboard: http://localhost:8080/admin
To use an Enterprise license, replace COMPDF_LICENSE_KEY in .env with the
issued License Key. Restart the services after updating the License Key.
Apply for the Enterprise version to obtain the following benefits:
- Watermark-free document processing
- No limit on the number of document pages processed
- Batch document processing
Development uses Docker for the infra and SDK services, while the server and Web UI can run locally for hot reload.
Terminal 1: start MySQL, Redis, RustFS, and the SDK services:
docker compose -f docker-compose.dev.yml up -d compdf-infra compdf-app
docker compose -f docker-compose.dev.yml psTerminal 2: start the server locally. It connects to the dev Compose services through their host-mapped ports:
cd server
npm install
DATABASE_HOST=127.0.0.1 \
DATABASE_PORT=13306 \
DATABASE_USER=compdfkit \
DATABASE_PASSWORD=compdfkit-pass-2026 \
DATABASE_NAME=compdfkit \
REDIS_HOST=127.0.0.1 \
REDIS_PORT=16379 \
PDF_SDK_BASE_URL=http://127.0.0.1:7001 \
CONVERSION_BASE_URL=http://127.0.0.1:7000 \
LICENSE_TOKEN_PATH=../configs/license.jwt \
SETTINGS_PATH=../configs/settings.yml \
STORAGE_DIR=./storage \
npm run start:devThe server exposes the API at:
http://localhost:8080/api/v1/*
Terminal 3: start the Web UI. The frontend dev service proxies ComPDF Web and
Dashboard /api requests to the server on port 8080:
cd frontend/compdf-web
npm install
npm run devOpen the URL printed by the frontend dev service, for example:
ComPDF Web: http://localhost:5173/
Dashboard: http://localhost:5173/admin
For LAN access, use the machine IP printed by the frontend dev server's Network URL and make
sure the server is also reachable from that machine.
If you prefer running the server in Docker during development:
docker compose -f docker-compose.dev.yml up -d --build compdf-infra compdf-app compdf-serverdocker compose ps
docker compose logs -f compdf-serverThe production deployment stores persistent data in Docker volumes and mounts ./configs into the server container.
Open ComPDF Web and Dashboard:
ComPDF Web: http://localhost:8080/
Dashboard: http://localhost:8080/admin
Keep this path when you changed local source code and need to package a new
production compdf-server image from the root Dockerfile. The Dockerfile
builds ComPDF Web and Dashboard from frontend/compdf-web, copies the static
assets into /app/public/compdf-web, builds the server, and serves pages and
APIs together on port 8080.
docker compose -f docker-compose.yml up -d --build compdf-infra compdf-app compdf-serverAll features above come with ComPDF — check them out here.
┌────────────────────────────────────────────────────────────────────┐
│ Browser │
│ Use / for ComPDF Web and /admin for Dashboard in production │
└───────────────────────────────┬────────────────────────────────────┘
│
│ HTML/CSS/JS + HTTP /api/v1/*
▼
┌────────────────────────────────────────────────────────────────────┐
│ compdf-server container │
│ ComPDF Web + Dashboard + Server, port 8080 │
├────────────────────────────────────────────────────────────────────┤
│ - Serves ComPDF Web and Dashboard from /app/public/compdf-web │
│ - ComPDF Web uses /api/v1/process/* and /api/v1/task/* │
│ - Dashboard uses /api/v1/dashboard/* for API keys, license, logs │
│ and system settings │
│ - Orchestrates async task status, cancellation, and downloads │
│ - Injects brand config, API key, and display-only license metadata │
│ - Normalizes processing-service errors and writes operation logs │
└───────────────┬───────────────────────────────┬────────────────────┘
│ │
│ HTTP │ MySQL / Redis
▼ ▼
┌────────────────────────────────┐ ┌────────────────────────────────┐
│ compdf-app container │ │ compdf-infra container │
│ │ │ MySQL 8 + Redis 7 + RustFS │
│ │ │ persistent Docker volumes │
└────────────────────────────────┘ └────────────────────────────────┘
│
▼
┌────────────────────────────────────────────────────────────────────┐
│ Project-mounted data │
├────────────────────────────────────────────────────────────────────┤
│ configs/: license.jwt, settings.yml, init.sql │
│ storage/: async task result files │
│ fonts/: optional fonts mounted into the SDK container │
└────────────────────────────────────────────────────────────────────┘
In local development, compdf-infra and compdf-app still run in Docker. The
server can run from server/, and ComPDF Web plus Dashboard can run from
frontend/compdf-web with frontend hot reload.
Contact sales to update to the Enterprise Edition.
| Feature | Free Edition | Enterprise |
|---|---|---|
| PDF Editing | ✅ | ✅ |
| PDF Conversion | ✅ | ✅ |
| Web UI | ✅ | ✅ |
| Dashboard | ✅ | ✅ |
| Watermark-Free Output | ❌ | ✅ |
| Unlimited Pages | ❌ | ✅ |
| Custom Concurrency | ❌ | ✅ |
| Commercial License | ❌ | ✅ |
| Technical Support | ❌ | ✅ |
Have suggestions? Start a discussion. If you find ComPDF Self-hosted useful, please consider giving us a ⭐ Star on GitHub. It helps us grow and improve.
-
This project is licensed under the MIT License. See the LICENSE file for details.
-
Contact Sales for the Commercial / Enterprise licenses for ComPDF Self-hosted.
Built by the ComPDF team.
Website ·
Docs ·
Enterprise Inquiries
