Noah writes practical guides for Next.js deploys, AI self-hosting (Ollama, n8n), and PaaS panels like Coolify and Dokploy. His focus is getting apps from git clone to HTTPS with the fewest moving parts.
Role of Dokploy
Dokploy is a self-hosted platform to deploy applications and databases with Docker under the hood. It targets developers who want PaaS ergonomics on their own VPS.
OrbitHost `/vps-for-dokploy` maps to KVM Ryzen NVMe in EU regions — a good fit for side projects and small SaaS.
Server prep
Use Ubuntu 24.04, update the system, and allow SSH/HTTP/HTTPS. Create a non-root sudo user for day-to-day SSH if you still log in as root from the provider panel.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ca-certificates
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableInstall Docker Engine
Dokploy expects Docker. Install via Docker’s official apt repository for Ubuntu Noble so Compose and Buildx are present.
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] \
https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo usermod -aG docker $USER
newgrp docker
docker versionInstall Dokploy
Follow the current official install command from Dokploy documentation — release channels change. The typical pattern is a curl|bash installer that starts platform containers.
curl -sSL https://dokploy.com/install.sh | sh
# open the printed URL, create admin account, then secure the panelDeploy your first app
Connect a GitHub/GitLab repo or deploy from a Compose file. Set environment variables in the UI, attach a domain, and enable HTTPS.
Verify health checks and rolling restart behavior with a trivial Node or static site before moving Laravel/Next production data.
- Store secrets in the panel, not the repo
- Use separate projects for staging
- Watch `docker stats` during builds
- Enable automatic deployments only on main
Ops notes
Panel upgrades should be planned — read changelogs. Back up Dokploy metadata volumes and application databases independently.
docker ps
df -h
# example: export a postgres used by an app
# docker exec -t db pg_dump -U app app > backup.sqlSizing for EU teams
Builds compete with running containers for CPU. On OrbitHost, a Core/Pro plan reduces “build starved my API” incidents. Keep large monorepo builds on CI if the VPS is small.
If you prefer Coolify’s UX, see the sister guide — switching later is a migration project, not a toggle.
FAQ
Dokploy vs Coolify?
Both provide git-based deploys on Docker. Feature sets and UI differ; try both on a cheap VPS if you are undecided. Hardware needs are comparable.
Minimum VPS size?
2 GB RAM is a bare minimum for the panel alone; 4–8 GB is realistic once you host apps on the same node.
Does Dokploy need a domain?
You can start on the server IP. Use a domain for TLS and cleaner app URLs before production traffic.
Single node only?
Many users run one VPS for panel + workloads. Split databases or heavy workers later if metrics demand it.
