Dokploy
Self-hosted PaaS that deploys apps and databases on your own VPS using Docker, Traefik, and multi-build-system orchestration
Dokploy is a free, self-hostable Platform as a Service (PaaS) that eliminates the need for Vercel, Netlify, or Heroku by letting you run the entire deployment platform on a VPS you control. It handles the full lifecycle of applications and databases — from build to monitoring to backups — with a polished web UI, CLI, and REST API.
At its core, Dokploy wraps Docker and Docker Compose with a tRPC-powered backend, Traefik for reverse proxying, and BullMQ for async deployment queuing. It supports deploying applications via Nixpacks, Railpack, Cloud Native Buildpacks, or custom Dockerfiles, with per-application rollback across all build modes. Databases (PostgreSQL, MySQL, MariaDB, MongoDB, Redis, libSQL) are provisioned and monitored through the same dashboard.
For teams, Dokploy provides organization management, role-based access control, preview deployments, and notification hooks for Slack, Discord, Telegram, and email. Multi-server mode lets you manage deployments across remote VPS instances from a single control plane, and Docker Swarm integration enables horizontal scaling when a single node is no longer enough.
An enterprise tier — gated behind a commercial license key — adds SSO, audit logs, custom RBAC roles, whitelabeling, and forward auth, while the entire open-source core remains Apache 2.0 and fully functional without a paid plan.
What You Get
- Multi-build Application Deployment - Deploy any application via Nixpacks, Railpack, Cloud Native Buildpacks, or a custom Dockerfile, with per-deployment rollback across all build modes.
- Database Provisioning and Management - Create, monitor, and manage PostgreSQL, MySQL, MariaDB, MongoDB, Redis, and libSQL databases directly from the dashboard with connection string generation.
- Automated Database Backups - Schedule recurring backups to S3-compatible storage, FTP, or local destinations with configurable retention policies and restore workflows.
- Docker Compose Native Support - Deploy complex multi-container applications from existing Compose files without modification, with full network and volume management.
- Multi-Server Remote Management - Connect remote VPS instances via SSH and deploy or manage applications across all servers from a single Dokploy control plane.
- Docker Swarm Clustering - Scale stateless workloads horizontally across multiple nodes using built-in Docker Swarm orchestration and visual cluster management.
- Automatic Traefik Routing and SSL - Each deployed service gets automatic domain routing, Let’s Encrypt SSL certificates, and load balancing configured by Dokploy without manual proxy editing.
- Real-time Monitoring and Terminal Access - View live CPU, memory, storage, and network metrics per service, stream container logs, and open interactive terminal sessions directly in the browser.
- Preview Deployments - Automatically spin up isolated preview environments for pull requests, with unique URLs managed through Traefik routing rules.
- AI-Assisted Operations - Integrated AI SDK supports Anthropic, OpenAI, Azure, Mistral, Cohere, and Ollama for AI-powered deployment assistance and troubleshooting.
- Deployment Notifications - Receive success and failure alerts via Slack, Discord, Telegram, email, or custom webhooks for every deployment event.
- One-Click Open Source Templates - Deploy popular self-hosted tools like Plausible, PocketBase, Cal.com, and Supabase from a curated template library with a single click.
Common Use Cases
- Migrating off Vercel/Heroku to cut costs - A startup running a Next.js frontend and PostgreSQL backend moves their stack to a $20/month VPS using Dokploy, replacing $100+/month of managed hosting with a self-managed deployment pipeline.
- Team staging environment management - A development team uses Dokploy’s multi-server support and role-based access to maintain isolated staging and production environments across separate VPS instances, with PR-based preview deployments for every feature branch.
- Self-hosting a suite of open-source tools - A sysadmin uses Dokploy templates to deploy Plausible Analytics, PocketBase, and Uptime Kuma on a single VPS, managing all services from one dashboard with automated backups to S3.
- Docker Compose application hosting - A developer with existing Docker Compose files for a microservices app deploys directly without rewriting configurations, gaining Traefik routing, SSL, and monitoring without any manual infrastructure work.
- Scaling to multi-node with Swarm - As traffic grows, a team adds more VPS nodes and uses Dokploy’s Docker Swarm integration to scale their stateless API service across three nodes, managed from the same dashboard they started on.
Under The Hood
Architecture
Dokploy is a monorepo built around a clean separation between an @dokploy/server shared library, the main Next.js application (frontend + tRPC API), and supporting services for scheduling, monitoring, and remote deployments. The tRPC layer organizes 44 domain-specific routers — applications, databases, Docker, Traefik, Git providers, permissions, enterprise features — each with Zod-validated inputs and typed error responses. Async deployment work is handed off to BullMQ queues backed by Redis, while five independent WebSocket servers for deployment logs, container logs, terminal access, stats monitoring, and drawer logs run multiplexed on the same HTTP server. A clear IS_CLOUD flag gates managed-cloud-only behaviour at runtime, and proprietary enterprise features (SSO, audit logs, custom RBAC, whitelabeling) live in a separate /proprietary directory under a distinct commercial source-available license, keeping the Apache 2.0 core fully self-contained.
Tech Stack The platform runs on Node.js 24 with TypeScript throughout. Next.js 16 with React 18 and Radix UI primitives serves the frontend, styled via Tailwind CSS with a dark theme built from ShadCN component patterns. tRPC with React Query provides end-to-end type-safe API calls without a traditional REST layer. Drizzle ORM manages PostgreSQL with auto-generated migrations and a studio UI for development. Docker operations use Dockerode against the Docker socket; Traefik is controlled programmatically via its file-based API. Build-system diversity is handled through Nixpacks, Railpack, and Cloud Native Buildpacks, each abstracted behind a common deployment interface. Better-auth handles authentication with SSO and API-key extensions. Biome replaces ESLint/Prettier as a unified linter and formatter, and Vitest handles the test suite.
Code Quality
The project ships an extensive set of tests across 54 files covering deployment logic, Docker Compose parsing edge cases, permission checks, WebSocket utilities, and environment variable access patterns. Tests use Vitest and span pure unit tests through integration tests that validate behavior against real Docker Compose configurations and live Docker operations. Error handling is explicit and typed throughout the tRPC layer using TRPCError with appropriate codes. TypeScript strict mode is enforced across the entire codebase with interface-based type guards for session contexts, license states, and permission resolution. Biome enforces consistent formatting and linting, and GitHub Actions CI runs full builds and type checks on every pull request. Inline comments are present in critical infrastructure paths but inconsistent across the broader router surface area.
What Makes It Unique Dokploy’s most distinctive capability is its unified multi-build-system deployment pipeline: the same workflow triggers Nixpacks, Railpack, Buildpacks, or a custom Dockerfile based on per-application configuration, with rollback support across all modes and no vendor lock-in to a single build approach. The real-time infrastructure is unusually complete for a self-hosted tool — five independent WebSocket servers provide terminal access, container log streaming, deployment log streaming, Docker stats monitoring, and a general-purpose drawer log channel, all multiplexed on a single HTTP port. The emergent AI SDK integration — spanning Anthropic, OpenAI, Azure, Mistral, Cohere, DeepInfra, and Ollama — positions Dokploy ahead of most PaaS alternatives in bringing AI-assisted operations to self-hosted infrastructure. The clean Apache 2.0 / proprietary split means organizations can self-host the full open-source platform indefinitely while the enterprise tier adds SSO, audit trails, and custom roles for teams that need them.
Self-Hosting
Dokploy uses a split licensing model. The core platform — application deployment, database management, backups, monitoring, Traefik integration, multi-server support, and Docker Swarm clustering — is released under the Apache License 2.0. This permissive license allows free commercial use, modification, and redistribution with minimal restrictions. There are no copyleft implications for self-hosters: you can run Dokploy on commercial infrastructure and charge customers for applications deployed through it without any obligation to open-source your own code.
A subset of features lives in a /proprietary directory under the Dokploy Source Available License (DSAL), a commercial source-available license. These enterprise features — SSO, audit logs, custom RBAC roles, whitelabeling, and forward auth — require a valid commercial license key activated through the Dokploy admin panel. The DSAL permits viewing and modifying the code for development and testing but prohibits production use without a paid agreement. Running Dokploy without activating a license simply disables these specific features; the rest of the platform operates normally and indefinitely.
Operationally, self-hosting Dokploy means you own the entire stack: a VPS running the Dokploy control panel, PostgreSQL for its own data store, Redis for the deployment queue, and Docker for all managed workloads. Dokploy installs via a single curl | bash script and handles its own Traefik setup, but you are responsible for the underlying server’s uptime, OS updates, backups of the Dokploy database itself, and capacity planning as your workloads grow. Compared to the managed Dokploy Cloud offering at app.dokploy.com, self-hosting means no managed SLA, no automatic platform updates pushed to your instance, and no dedicated support channel unless you purchase an enterprise plan — but it also means zero per-seat or per-deployment fees and full data residency on infrastructure you control.
Related Apps
Caddy
Devops · Security
The only web server that obtains and renews TLS certificates automatically, with HTTP/1-2-3 support and zero dependency on external runtimes.
Caddy
Apache 2.0Traefik
Devops · Automation · Security
A cloud-native reverse proxy and load balancer that auto-configures itself from Docker, Kubernetes, and other orchestrators — zero manual routing required.
Traefik
MITVaultwarden
Password Manager · Security
Unofficial Bitwarden-compatible server in Rust — run the full Bitwarden ecosystem on a Raspberry Pi using every official client you already have, without the multi-container overhead.