Skip to main content

What is Dokploy?

Dokploy is a free, self-hostable Platform as a Service (PaaS) that simplifies the deployment and management of applications and databases. Built for developers who want the power of cloud platforms like Vercel, Heroku, or Netlify, but with complete control over their infrastructure.
Dokploy is 100% open source under the Apache 2.0 license. You own your data, your infrastructure, and your deployment pipeline.

Why Dokploy?

Modern application deployment shouldn’t require extensive DevOps knowledge or expensive managed services. Dokploy bridges this gap by providing:

Self-Hosted Freedom

Deploy on your own VPS or server. No vendor lock-in, no usage limits, complete data ownership.

Simple Yet Powerful

Intuitive web interface with powerful features underneath. From hobby projects to production workloads.

Docker-Native

Built on Docker and Docker Swarm. Deploy containers, compose stacks, and scale across multiple nodes.

Production Ready

Automatic SSL certificates, real-time monitoring, automated backups, and zero-downtime deployments.

Quick Installation

Get Dokploy running on your VPS in under 5 minutes:
curl -sSL https://dokploy.com/install.sh | sh
After installation, access the dashboard at http://your-server-ip:3000 and complete the setup wizard.
Want to skip the installation? Try Dokploy Cloud for a managed experience.

Core Capabilities

Application Deployment

Deploy applications from multiple sources with flexible build options:
  • Source Types: Git repositories (GitHub, GitLab, Bitbucket, Gitea), Docker registries, or raw Docker images
  • Build Systems: Nixpacks, Heroku Buildpacks, Paketo Buildpacks, Dockerfile, or static file hosting
  • Languages: Node.js, PHP, Python, Go, Ruby, and any language with Docker support
  • Automation: Automatic deployments on git push, manual triggers, or API-driven deployments
// Application schema supports multiple source and build types
sourceType: "github" | "gitlab" | "bitbucket" | "gitea" | "docker" | "git" | "drop"
buildType: "dockerfile" | "heroku_buildpacks" | "paketo_buildpacks" | "nixpacks" | "static" | "railpack"

Database Management

Provision and manage production-ready databases with a single click:

PostgreSQL

Fully managed PostgreSQL instances

MySQL

MySQL database hosting

MongoDB

NoSQL document database

MariaDB

MySQL-compatible database

Redis

In-memory data store and cache

Custom Images

Any database Docker image
Each database includes:
  • Automatic configuration and user setup
  • Environment variable injection
  • Volume persistence
  • Backup scheduling to external storage
  • Resource limits and monitoring

Docker Compose Support

Deploy complex multi-container applications using Docker Compose:
# Native support for docker-compose.yml files
composeType: "docker-compose" | "stack"
Features include:
  • Direct repository integration
  • Custom compose file paths
  • Environment variable management
  • Service isolation options
  • Automatic network configuration

Multi-Node Scaling

Scale your applications across multiple servers using Docker Swarm:
// Swarm-specific configuration options
serviceModeSwarm: {
  mode: "replicated" | "global",
  replicas?: number
}

placementSwarm: {
  constraints?: string[],
  preferences?: Array<{ spread: string }>
}
Distribute workloads, ensure high availability, and manage clusters through the Dokploy dashboard.

Architecture Overview

Dokploy consists of several integrated components:
1

Core Application

Next.js-based dashboard for managing all resources. Provides the web interface and API endpoints.
2

Server Package

Backend services handling Docker operations, deployments, database management, and system orchestration.
3

Monitoring Service

Go-based monitoring agent collecting real-time metrics for CPU, memory, disk, network, and container statistics.
4

Scheduling Service

Manages automated backups, cleanup tasks, and scheduled operations.
5

Traefik Integration

Automatic reverse proxy and load balancer for routing, SSL termination, and domain management.

Real-Time Monitoring

Built-in monitoring provides visibility into your infrastructure:
  • Server Metrics: CPU usage, memory consumption, disk space, and network traffic
  • Container Metrics: Per-container resource usage with historical data
  • Retention: Configurable data retention (default: 7 days)
  • Thresholds: Set alerts for CPU and memory usage
  • Notifications: Receive alerts via Slack, Discord, Telegram, Email, and more
// Example metrics response
{
  "timestamp": "2025-01-19T22:16:30.796129Z",
  "CPU": 83.76,
  "Memory": {
    "percentage": 0.03,
    "used": 2.262,
    "total": 7.654,
    "usedUnit": "MB",
    "totalUnit": "GB"
  },
  "Network": {
    "input": 306,
    "output": 0,
    "inputUnit": "B",
    "outputUnit": "B"
  }
}

Automated Backups

Protect your data with scheduled backups:
  • Database Backups: Automated backups for PostgreSQL, MySQL, MongoDB, MariaDB
  • Volume Backups: Backup Docker Compose service volumes
  • External Storage: S3-compatible storage, local destinations
  • Retention Policies: Configure how many backups to keep
  • Scheduling: Cron-based scheduling for flexible backup windows

Notification System

Stay informed about your deployments and infrastructure:

Slack

Team notifications

Discord

Community alerts

Telegram

Mobile notifications

Email/Resend

Email alerts

Teams

Microsoft Teams

Custom Webhooks

Custom integrations
Notification events include:
  • Application deployments (success/failure)
  • Build errors
  • Database backups
  • Server threshold alerts
  • Docker cleanup operations
  • Dokploy system restarts

Next Steps

Explore Features

Dive deep into all Dokploy capabilities

Installation Guide

Set up Dokploy on your server

First Deployment

Deploy your first application

API Reference

Automate with the REST API

Build docs developers (and LLMs) love