Skip to content

Dokploy Setup

Jay edited this page Jun 16, 2026 · 3 revisions
  1. Setup your Dokploy Server:
https://community-scripts.org/scripts/debian-13-vm  

Copy the run command and run it on your proxmox host.

Note: If you enabled Cloud-Init like I did, just follow these directions once the VM is up and running:

https://github.com/community-scripts/ProxmoxVE/discussions/272

Use default or Advanced - I selected Advanced to setup the below values:

  • ๐Ÿ†” Virtual Machine ID: Whatever number you decide goes here
  • ๐Ÿ“ฆ Machine Type: i440fx
  • ๐Ÿ’พ Disk Size: 100G
  • ๐Ÿ’พ Disk Cache: None
  • ๐Ÿ  Hostname: dokploy
  • ๐Ÿ–ฅ๏ธ CPU Model: KVM64
  • ๐Ÿง  CPU Cores: 2
  • ๐Ÿ› ๏ธ RAM Size: 2048
  • ๐ŸŒ‰ Bridge: vmbr0
  • ๐Ÿ”— MAC Address: 02:64:9A:E4:9A:B1
  • ๐Ÿท๏ธ VLAN: Default
  • โš™๏ธ Interface MTU Size: Default
  • โ˜๏ธ Cloud-Init: yes
  • ๐ŸŒ Start VM when completed: yes
  1. After getting the VM setup, head to dokploy GitHub and run the install script:
curl -sSL https://dokploy.com/install.sh | bash
  1. Once the Dokploy install is complete you can access Dokploy by going to: :3000

  2. If you've setup your Dokploy in a proxy manager like Nginx Proxy Manager then you need to go to: Settings > Web Server a. Update the domain field to be the exact domain you setup in your proxy manager. b. You can leave the email blank c. Tick the HTTPS to true d. leave the Certificate Provider to None. Save. e. Now you can go to your internally hosted https URL without seeing the "Invalid Origin" error.

  3. Similar to the Coolify setup, you need to setup a deployment server as well. This would be equivalent to a VPS, except we're going to deploy locally. a. I'm setting mine up with the following customized proxmox helper script:

var_cpu="2" var_ram="2048" var_disk="20" bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/debian.sh)"

i. Select "Advanced" instead of going through the default settings so you have an opportunity to paste in an SSH key from Dokploy right from the start ii. In Dokploy go to SSH Keys and click the "+ Add SSH Key" button, then "Generate RSA SSH Key" and name it something memorable so you remember that it's the Dokploy deployment server. iii. Before you click create, copy the Public Key and paste it to a text doc, but also paste it into the proxmox helper script step when you are asked to select an SSH key and select the MANUAL option. On the next step paste in your newly created public key here. iv. Important: make sure you enabled SSH during setup.

Here is my server creation summary:

  • ๐Ÿ’ก PVE Version 8.4.19 (Kernel: 6.8.12-20-pve)

  • ๐Ÿ–ฅ๏ธ Operating System: debian

  • ๐ŸŒŸ Version: 13

  • ๐Ÿ“ฆ Container Type: Unprivileged

  • ๐Ÿ†” Container ID: 114

  • ๐Ÿ  Hostname: dokploy-vps

  • ๐Ÿ’พ Disk Size: 20 GB

  • ๐Ÿง  CPU Cores: 2

  • ๐Ÿ› ๏ธ RAM Size: 2048 MiB

  • ๐ŸŒ‰ Bridge: vmbr0

  • ๐Ÿ“ก IPv4: dhcp

  • ๐Ÿ“ก IPv6: auto

  • ๐Ÿ—‚๏ธ FUSE Support: no

  • ๐Ÿ“ก TUN/TAP Support: yes

  • ๐Ÿ“ฆ Nesting: Enabled

  • ๐Ÿ“ฆ Keyctl: Enabled

  • ๐ŸŽฎ GPU Passthrough: no

  • ๐Ÿ’ก Timezone: America/New_York

  • ๐Ÿ” Verbose Mode: no

    b. Once your Dokploy Deployment server is setup, back in Dokploy click on "Remote Servers" and then "+ Create Server" and populate the details of the server you created. i. In the "Select a SSH Key" just select the SSH key you created and pasted while creating the deployment server. ii. Now you should see your server. Click the "Setup Server" button, go to the "Deployments" tab and click "Setup Server" iii. The setup script will run and installed the required items for Dokploy to manage the deployments on the server. It might appear to hang or take a few minutes on certain steps, but it will keep going and you will see "Setup Server: โœ…" several times, but just hang in there. Eventually you'll see that 14 items are setup. iv. If you go to the Validate tab, you should see everything green. In my case the last item "Docker Group" wasn't so I SSH'ed into my server (You can just click the little terminal button to open a SSH window) and ran the following command:

sudo usermod -aG docker $USER

That will fix this issue. You're all set.

c. To deploy your sites and apps to a public domain follow the guide for Cloudflare Tunnels here:

https://docs.dokploy.com/docs/core/guides/cloudflare-tunnels#cloudflare-tunnel-setup

d. It can be a little confusing, but I'm going to assume you're buying a domain for a site/app that runs on a service: i. Once you get through step 1 and you've copied your tunnel token, paste it into a text doc for easy reference. ii. Step 2 (assuming you've already setup a domain in cloudflare): Click the domain name you're wanting to use, then expand the SSL/TLS > Overview > Configure and set to Full or Full (Strict). iii. Follow step 3: Create a project if you haven't already, then create a service under the project and then just complete the rest of the setup. iv. For step 4 I prefer the direct container access. I haven't yet put on my big boy pants with configuring Traefik, plus it's easy. Note: If you're transferring in a domain to Cloudflare, you will have to delete the DNS records under the Domain name before the tunnel will allow you to create a new DNS entry.

e. Time to connect to Monastery. Go to your profile and scroll to the bottom to generate a new API Token/Key.

Clone this wiki locally