This tutorial takes you from a brand-new ZSoftly Cloud Platform account to a working virtual machine running Dokploy, an open-source, self-hosted platform for deploying apps and databases (think of it as your own Vercel or Heroku). You do every step from the portal, no command line required until you install Dokploy itself.
By the end you have:
- A public-facing virtual machine with a public IP
- Dokploy installed and reachable in your browser
- A place to deploy apps from Git, run databases, and serve custom domains with automatic TLS
Plan for about 15 minutes. Most of it is the VM booting and Dokploy installing.
Prerequisites
- A ZCP account (create one here, $100 launch credit at sign-up, up to $300 total).
- Dokploy needs at least 2 GB of RAM and 30 GB of disk. Keep that in mind when you pick a plan in Step 2.
Step 1: Log in to the portal
Go to cloud.zcp.zsoftly.ca and log in with your account credentials.
Step 2: Create the VM
Go to Compute > Instances and click Add Instance. Configure it:
| Setting | Value |
|---|---|
| Region | YUL (recommended for production) or YOW |
| Image | Ubuntu 24.04 LTS |
| Plan | At least 2 GB RAM and 30 GB disk; the Large plan (2 vCPU / 4 GB) is a safe pick |
| Network | Public Network, with public IPv4 enabled |
| SSH Key | Add your SSH key (or use the Provisioning Password) |
Click Launch Virtual Machine. The VM is running within 30-60 seconds.
Use Ubuntu 24.04 LTS, not 26.04. Dokploy installs Docker from Docker’s apt repository, which does not publish packages for the very newest Ubuntu releases right away. On 26.04 the installer can fail with
docker: not found.
Step 3: Open the ports
On the Public Network, inbound traffic is blocked until you open it. Dokploy needs four ports: 22 (SSH), 80 and 443 (your apps and TLS), and 3000 (the dashboard).
In the portal, open your instance and add, for each port:
- A firewall rule (Settings > Firewall) allowing TCP on that port.
- A port-forwarding rule (Settings > Port Forwarding) mapping the public port to the same port on the VM.
Detailed UI steps: firewall and port forwarding in the docs.
Step 4: Connect over SSH
Open your instance’s Overview tab to get its public IP, the username (ubuntu for Ubuntu images), and, if you did not add an SSH key, the Provisioning Password.
ssh ubuntu@YOUR_PUBLIC_IP
If the connection times out, confirm you opened port 22 in Step 3. See Connect With SSH for details, including where to find the Provisioning Password.
Step 5: Install Dokploy
You are now on the VM. Install Dokploy with its official one-line script (it runs as root):
curl -sSL https://dokploy.com/install.sh | sudo sh
The installer pulls Docker, starts Dokploy, and serves the dashboard on port 3000. It prints the URL when it finishes.
Step 6: Open the dashboard
In your browser, go to:
http://YOUR_PUBLIC_IP:3000
Create your admin account on first load. From here you can deploy apps from Git, run databases, and add custom domains with automatic TLS.
Secure it right away. Port
3000is open to the internet, so set a strong admin password immediately. Then point a domain at your VM’s public IP so Dokploy can issue TLS certificates and serve your apps on443.
What to build next
With Dokploy running, you can:
- Deploy an app straight from a GitHub or GitLab repository
- Spin up a PostgreSQL, MySQL, MongoDB, or Redis database in a few clicks
- Add a custom domain with automatic Let’s Encrypt TLS
- Attach block storage for persistent data, or install other one-click marketplace apps
Clean up
Hourly billing runs while the VM exists. When you are done testing, delete the instance from the portal (Compute > Instances > your VM > Delete). That also releases its public IP and the firewall and port-forwarding rules attached to it.
Cost
A 2 vCPU / 4 GB VM on the Large plan costs about $48/month, billed hourly. Your $100 sign-up credit (up to $300 total) is valid for 30 days from issue, so it can cover this VM while the credit remains. Creating an account takes a minimum CA$1.00 verification payment, added as infra credit you can spend. After the launch credit is consumed or expires, usage moves to post-paid billing.