Skip to main content

System Requirements

Before installing Dokploy, ensure your server meets the following requirements:

Operating System

Ubuntu 20.04+ (recommended), Debian 11+, or any Docker-compatible Linux distribution

Hardware

Minimum 1GB RAM (2GB+ recommended), 10GB free disk space

Network

Public IP address and open ports 80 (HTTP) and 443 (HTTPS)

Access

Root or sudo access to the server
Dokploy requires Docker to be installed. The installation script will automatically install Docker if it’s not already present on your system.

Quick Installation

The easiest way to install Dokploy is using the official installation script. This script handles all dependencies and configuration automatically.
1

Connect to your server

SSH into your VPS or server:
ssh user@your-server-ip
2

Run the installation script

Execute the Dokploy installation command:
curl -sSL https://dokploy.com/install.sh | sh
The script will:
  • Install Docker Engine 28.5.2 (if not already installed)
  • Pull the latest Dokploy Docker image
  • Set up PostgreSQL database
  • Configure Traefik for reverse proxy and SSL
  • Start all required services
The installation process typically takes 2-5 minutes depending on your server’s internet connection.
3

Access the dashboard

Once installation completes, access the Dokploy dashboard:
http://your-server-ip:3000
You’ll be prompted to create your admin account on first access.
4

Create your admin account

Set up your administrator credentials:
  • Enter your email address
  • Create a secure password
  • Complete the initial setup wizard
Save your credentials securely. If you lose your password, you can reset it using the CLI command documented below.

Alternative Installation Methods

If you prefer to manage Dokploy with Docker Compose, you can create your own docker-compose.yml file:
docker-compose.yml
version: '3.8'

services:
  dokploy:
    image: dokploy/dokploy:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dokploy-data:/app/data
    environment:
      - DATABASE_URL=postgres://dokploy:password@postgres:5432/dokploy
      - NODE_ENV=production
    depends_on:
      - postgres
  
  postgres:
    image: postgres:16-alpine
    restart: unless-stopped
    volumes:
      - postgres-data:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=dokploy
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=dokploy

volumes:
  dokploy-data:
  postgres-data:
Then start the services:
docker-compose up -d

DigitalOcean

  1. Create a Droplet with Ubuntu 22.04
  2. Select at least the 2GB RAM option
  3. SSH into your droplet
  4. Run the installation command

AWS EC2

  1. Launch an EC2 instance with Ubuntu Server 22.04
  2. Use t3.small or larger instance type
  3. Configure security group to allow ports 80, 443, and 3000
  4. SSH into your instance and run the installation command

Hetzner Cloud

  1. Create a CX22 or larger server with Ubuntu 22.04
  2. Add firewall rules for ports 80, 443, and 3000
  3. SSH into your server and run the installation command
If you’re installing Dokploy behind a firewall or in a private network:
  1. Ensure your server can access:
    • dokploy.com (for installation script)
    • get.docker.com (for Docker installation)
    • docker.io and ghcr.io (for Docker images)
  2. Configure your firewall to allow:
    • Inbound: ports 80, 443, 3000
    • Outbound: ports 80, 443 (for external services)
  3. If using a proxy, configure Docker to use it before installation:
mkdir -p /etc/systemd/system/docker.service.d
cat > /etc/systemd/system/docker.service.d/http-proxy.conf << EOF
[Service]
Environment="HTTP_PROXY=http://proxy.example.com:8080"
Environment="HTTPS_PROXY=http://proxy.example.com:8080"
EOF

What Gets Installed

The Dokploy installation includes several components:
Docker 28.5.2 is installed with all necessary dependencies:
  • Container runtime
  • Docker CLI
  • Docker Compose V2
  • Containerd
Multiple build systems for different application types:
  • Nixpacks 1.41.0 - Universal build system (recommended)
  • Railpack 0.15.4 - Optimized for Ruby on Rails
  • Buildpacks 0.39.1 - Cloud Native Buildpacks
Essential services for Dokploy operation:
  • PostgreSQL 16 (database)
  • Traefik (reverse proxy and load balancer)
  • Dokploy API and Web UI
Additional tools installed:
  • rclone - For backup operations to external storage
  • git-lfs - For Git repositories with large files
  • rsync - For efficient file synchronization

Post-Installation Configuration

1

Configure SSL/TLS

Dokploy uses Traefik for automatic SSL certificate provisioning via Let’s Encrypt.To enable HTTPS:
  1. Navigate to Settings > Server
  2. Enter your domain name
  3. Configure Let’s Encrypt email
  4. Save changes
Certificates will be automatically issued and renewed.
2

Set up Git providers (optional)

Connect GitHub, GitLab, or Bitbucket for seamless deployments:
  1. Go to Settings > Git Providers
  2. Click Add Provider
  3. Authenticate with your provider
  4. Grant necessary permissions
3

Configure notifications (optional)

Get notified about deployment status:
  1. Navigate to Settings > Notifications
  2. Add integrations for Slack, Discord, Telegram, or Email
  3. Test the connection

Verifying Installation

To verify Dokploy is running correctly:
docker ps | grep dokploy
All services should show as “Up” or “healthy” status.

Troubleshooting Installation

If the installation script fails:
  1. Check your internet connection
  2. Ensure you have sudo/root access
  3. Verify system requirements are met
  4. Check the logs: journalctl -xe
  5. Try running the script again
If you can’t access the dashboard at port 3000:
  1. Check firewall rules: sudo ufw status
  2. Allow port 3000: sudo ufw allow 3000
  3. Verify Dokploy is running: docker ps | grep dokploy
  4. Check logs: docker logs dokploy
If you encounter Docker permission errors:
sudo usermod -aG docker $USER
newgrp docker
Or for specific directories:
sudo chown -R $USER ~/.docker
If you’ve lost your admin password:
docker exec -it dokploy pnpm run reset-password
Follow the prompts to create a new password.

Updating Dokploy

To update Dokploy to the latest version:
docker pull dokploy/dokploy:latest
docker stop dokploy
docker rm dokploy
curl -sSL https://dokploy.com/install.sh | sh
Always backup your database before updating. See the Backups documentation for details.

Uninstalling Dokploy

To completely remove Dokploy from your system:
# Stop and remove containers
docker stop dokploy postgres traefik
docker rm dokploy postgres traefik

# Remove volumes (WARNING: This deletes all data)
docker volume rm dokploy-data postgres-data

# Remove Docker (optional)
sudo apt-get purge docker-ce docker-ce-cli containerd.io

Next Steps

Quickstart Guide

Learn the basics of using Dokploy

First Deployment

Deploy your first application

Core Concepts

Understand projects, applications, and databases

Configuration

Configure server settings and integrations

Build docs developers (and LLMs) love