Deployment Guide

    Deploy Apps with Dokploy

    Dokploy is a powerful, self-hosted Platform-as-a-Service (PaaS) solution that simplifies application deployment and management. Think of it as your own Vercel or Netlify that you control completely. Combined with RamNode's VPS hosting, you get a robust deployment platform at a fraction of the cost.

    Ubuntu 24.04 LTS
    Dokploy PaaS
    ⏱️ 30-45 minutes

    Why Dokploy + RamNode?

    Dokploy Benefits

    • • Simple application deployment with Git integration
    • • Built-in database management (PostgreSQL, MySQL, MongoDB, Redis)
    • • SSL certificate automation with Let's Encrypt
    • • Docker-based containerization
    • • Intuitive web interface
    • • Cost-effective self-hosting

    RamNode Benefits

    • • High-performance SSD and NVMe VPS hosting
    • • Competitive pricing
    • • Multiple data center locations
    • • Reliable uptime and support

    Prerequisites

    Before we begin, ensure you have:

    Server Requirements

    • • RamNode VPS running Ubuntu 24.04 LTS
    • • Root or sudo access to your server
    • • A domain name (optional but recommended)
    • • SSH access

    Recommended Specs

    • Minimum: 1 GB RAM, 1 CPU core, 20 GB SSD
    • Recommended: 2 GB RAM, 2 CPU cores, 40 GB SSD
    • • Basic familiarity with command line operations
    3

    Initial Server Setup

    First, let's prepare our Ubuntu 24 server with essential updates and security configurations:

    Connect via SSH
    ssh root@your-server-ip
    Update the System
    sudo apt update && sudo apt upgrade -y

    💡 Tip: Replace "your-server-ip" with your actual RamNode VPS IP address.

    4

    Create Non-Root User

    Create a dedicated user for better security:

    Create and Configure User
    # Create a new user
    sudo adduser dokploy
    
    # Add user to sudo group
    sudo usermod -aG sudo dokploy
    
    # Switch to the new user
    su - dokploy

    🔐 Security: Using a non-root user is a security best practice. You can continue as root if needed, but we recommend using the dedicated user.

    5

    Configure Firewall

    Set up UFW firewall to secure your server:

    Configure UFW Firewall
    # Enable UFW firewall
    sudo ufw enable
    
    # Allow SSH (important!)
    sudo ufw allow 22/tcp
    
    # Allow HTTP and HTTPS
    sudo ufw allow 80/tcp
    sudo ufw allow 443/tcp
    
    # Allow Dokploy web interface
    sudo ufw allow 3000/tcp
    
    # Check firewall status
    sudo ufw status

    ⚠️ Critical: Always allow SSH (port 22) before enabling UFW to avoid losing access to your server!

    6

    Install Docker

    Dokploy requires Docker to function. Install Docker and Docker Compose:

    Install Docker
    # Download and install Docker
    curl -fsSL https://get.docker.com -o get-docker.sh
    sudo sh get-docker.sh
    
    # Add current user to docker group
    sudo usermod -aG docker $USER
    
    # Start and enable Docker
    sudo systemctl start docker
    sudo systemctl enable docker
    Install Docker Compose
    # Install Docker Compose
    sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose

    Log out and back in for group changes to take effect, then verify installation:

    Verify Docker Installation
    # Check Docker version
    docker --version
    
    # Check Docker Compose version
    docker-compose --version
    
    # Test Docker
    docker run hello-world

    ✅ Docker is now installed and ready for Dokploy!

    7

    Install Dokploy

    Install Dokploy using the official installation script:

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

    ⏱️ Installation Time: The installation process typically takes 3-5 minutes. The script will download and configure all necessary components.

    After installation, verify Dokploy is running:

    Check Dokploy Status
    # Check if Dokploy containers are running
    docker ps
    
    # Check Dokploy service status
    sudo systemctl status dokploy

    🚀 Dokploy is now installed and running on port 3000!

    8

    Initial Dokploy Setup

    Access the Dokploy web interface and complete the initial setup:

    Access Dokploy Web Interface
    http://your-server-ip:3000

    Initial Setup Steps:

    1. 1. Open your browser and navigate to http://your-server-ip:3000
    2. 2. Create your admin account (first user becomes admin)
    3. 3. Set up your server settings
    4. 4. Configure your Git provider (GitHub, GitLab, Bitbucket)
    5. 5. Set up your domain and SSL preferences

    💡 Security: Make sure to use a strong password for your admin account and consider setting up two-factor authentication.

    9

    Create Your First Project

    Create a new project in Dokploy:

    Project Creation Process:

    1. 1. Click "Create Project" in the Dokploy dashboard
    2. 2. Enter a project name and description
    3. 3. Choose your deployment method:
      • • Git Repository (GitHub, GitLab, Bitbucket)
      • • Docker Image
      • • Docker Compose
    4. 4. Configure your project settings
    5. 5. Set up environment variables if needed

    💡 Git Integration: Dokploy supports automatic deployments via webhooks, so your app will redeploy automatically when you push changes to your repository.

    10

    Deploy Your Application

    Deploy your application using Dokploy's intuitive interface:

    🚀 Your application will be built and deployed automatically. You can monitor the deployment progress in real-time through the Dokploy dashboard.

    11

    Configure Domain and SSL

    Set up custom domains and automatic SSL certificates:

    Domain Configuration:

    1. 1. Go to your application settings in Dokploy
    2. 2. Navigate to the "Domains" section
    3. 3. Add your custom domain (e.g., myapp.yourdomain.com)
    4. 4. Update your DNS records:
      • • Create an A record pointing to your server IP
      • • Or create a CNAME record pointing to your server
    5. 5. Enable "Auto SSL" in Dokploy
    6. 6. Save and apply the configuration
    DNS Configuration Example
    # A Record
    myapp.yourdomain.com → your-server-ip
    
    # Or CNAME Record  
    myapp.yourdomain.com → your-main-domain.com

    🔒 Dokploy will automatically generate and renew SSL certificates using Let's Encrypt once your domain is properly configured and accessible.

    12

    Database Setup

    Add and manage databases for your applications:

    13

    Monitoring and Maintenance

    Monitor your applications and maintain your Dokploy instance:

    Application Monitoring

    • • Real-time application status and health checks
    • • Resource usage metrics (CPU, memory, disk)
    • • Application logs and error tracking
    • • Deployment history and rollback options
    • • Performance metrics and analytics

    Maintenance Tasks

    • • Regular Dokploy updates
    • • Docker image cleanup
    • • Database backups verification
    • • SSL certificate renewal monitoring
    • • System resource monitoring
    Dokploy Maintenance Commands
    # Update Dokploy to latest version
    curl -sSL https://dokploy.com/install.sh | sh
    
    # Check Dokploy logs
    docker logs dokploy
    
    # Clean up unused Docker resources
    docker system prune -a
    
    # Check system resources
    htop
    df -h
    14

    Troubleshooting Common Issues

    15

    Best Practices and Security

    Security Best Practices

    • • Keep Dokploy updated to the latest version
    • • Use strong passwords and enable 2FA when available
    • • Regular backups of applications and databases
    • • Monitor logs for suspicious activity
    • • Use HTTPS for all applications
    • • Secure environment variables and secrets
    • • Regular security audits of deployed applications

    Performance Optimization

    • • Right-size your RamNode VPS for your workload
    • • Use appropriate container resource limits
    • • Implement caching strategies in your applications
    • • Monitor and optimize database performance
    • • Use multi-stage Docker builds for smaller images
    • • Regular cleanup of unused Docker resources
    • • Consider using a CDN for static assets

    🎉 Congratulations! You now have a fully functional Dokploy PaaS running on your RamNode VPS. You can deploy multiple applications, manage databases, monitor performance, and scale as needed—all through an intuitive web interface that rivals hosted solutions like Vercel and Netlify!