Part 1 of 6

    Your First Deployment

    Install Dokploy on your RamNode VPS and deploy your first application in 20-30 minutes. Git-based deployments, automatic SSL, and a polished dashboard await.

    Ubuntu 24.04
    Docker
    Traefik
    Let's Encrypt

    Dokploy is a self-hosted PaaS that gives you the deployment experience of Vercel or Netlify on infrastructure you control. By the end of this guide, you'll have Dokploy running on a RamNode VPS with a live application accessible over HTTPS.

    20-30 min
    Setup time
    $4/mo
    Starting cost
    Live app
    End result
    1

    What You'll Need

    • RamNode VPS (2GB RAM / 2 vCPU minimum recommended)
    • Ubuntu 24.04 LTS
    • A domain name (or use the server IP for testing)
    • SSH access
    2

    Prepare Your Server

    SSH into your fresh VPS:

    Connect to your server
    ssh root@your-server-ip

    Update packages and install essentials:

    Update and install dependencies
    apt update && apt upgrade -y
    apt install -y curl git ufw

    Configure the Firewall

    Open only what Dokploy needs:

    Configure UFW firewall
    ufw allow 22/tcp    # SSH
    ufw allow 80/tcp    # HTTP
    ufw allow 443/tcp   # HTTPS
    ufw allow 3000/tcp  # Dokploy dashboard
    ufw enable
    3

    Install Docker

    Dokploy runs everything in containers. Install Docker with the official convenience script:

    Install Docker
    curl -fsSL https://get.docker.com | sh

    Verify it's working:

    Verify Docker installation
    docker --version
    docker run --rm hello-world

    You should see "Hello from Docker!" — you're ready for Dokploy.

    4

    Install Dokploy

    One command:

    Install Dokploy
    curl -sSL https://dokploy.com/install.sh | sh

    This pulls the Dokploy containers and starts the service. Takes 2-3 minutes.

    Verify it's running:

    Check running containers
    docker ps | grep dokploy

    You should see multiple containers: dokploy, dokploy-postgres, dokploy-redis, and dokploy-traefik.

    5

    Initial Setup

    Open your browser to:

    Dokploy dashboard URL
    http://your-server-ip:3000

    You'll see the Dokploy setup wizard:

    1. Create your admin account — use a strong password
    2. Server settings — defaults are fine for now
    3. Git provider — connect GitHub, GitLab, or Bitbucket (or skip for now)

    Once complete, you're in the dashboard.

    6

    Deploy Your First Application

    Let's deploy something real. We'll use a simple static site to prove the pipeline works.

    Option A: Deploy from GitHub (Recommended)

    If you connected a Git provider:

    1. Click Create Project → give it a name like "hello-world"
    2. Inside the project, click Create ServiceApplication
    3. Choose GitHub and select a repository
    4. Dokploy auto-detects most frameworks. For a static site or Node app, it usually just works.
    5. Click Deploy

    Watch the build logs stream in real-time. When you see "Deployment successful," your app is live.

    Option B: Deploy from Docker Image

    No Git repo? Deploy an existing image:

    1. Create ProjectCreate ServiceApplication
    2. Choose Docker as the source
    3. Enter an image: nginx:alpine (simple web server)
    4. Click Deploy

    In 30 seconds, you have a running Nginx container.

    Access Your App

    After deployment, Dokploy shows you the app URL. By default it's http://your-server-ip:RANDOM_PORT. We'll fix that with a proper domain next.

    7

    Add a Domain & Enable HTTPS

    This is where Dokploy shines. No manual certificate management.

    Point Your Domain

    In your DNS provider, add an A record:

    DNS A record
    Type: A
    Name: app (or @ for root domain)
    Value: your-server-ip
    TTL: 300

    Wait a few minutes for DNS propagation.

    Configure in Dokploy

    1. Go to your application → Domains tab
    2. Click Add Domain
    3. Enter your domain: app.yourdomain.com
    4. Toggle HTTPS on
    5. Save

    Dokploy's built-in Traefik proxy automatically:

    • Routes traffic to your container
    • Requests a Let's Encrypt certificate
    • Redirects HTTP → HTTPS
    • Handles certificate renewal

    Within a minute, visit https://app.yourdomain.com — it works.

    What You've Built

    Production-ready platform
    A deployment platform ready for real workloads
    Automatic SSL/TLS
    Let's Encrypt certificates managed for you
    Git or Docker deployments
    Deploy from repositories or images
    Management dashboard
    Control everything from a polished UI

    Quick Reference

    Dokploy Dashboard

    Dashboard URL
    http://your-server-ip:3000

    View running containers

    List containers
    docker ps

    Check Dokploy logs

    View logs
    docker logs dokploy -f

    Update Dokploy

    Update command
    curl -sSL https://dokploy.com/install.sh | sh

    Restart Dokploy

    Restart command
    docker restart dokploy

    Common Issues

    Can't access port 3000?

    • Check UFW: ufw status
    • Verify Dokploy is running: docker ps

    Build fails immediately?

    • Check your Dockerfile exists in the repo root
    • Verify the branch name matches what you entered

    SSL certificate not generating?

    • DNS must be propagated first — check with dig app.yourdomain.com
    • Port 80 must be open for Let's Encrypt HTTP challenge

    What's Next

    You've got the foundation. The rest of this series builds on it:

    Related Guides