---
title: "Two months on one Dokploy box"
date: 2026-10-19T16:57:43.253Z
updated: 2026-10-19T16:57:43.256Z
canonical: https://ninokroesen.com/blog/two-months-on-one-dokploy-box
lang: en
author: "Nino Kroesen"
---

# Two months on one Dokploy box

Two months ago today I moved all my projects onto one Dokploy box. Deploying stopped being infrastructure work: one server with one way to ship, instead of five VPSes where every new site meant another Nginx config, another certificate renewal and another process to restart.

The old setup was not a disaster. It accumulated. Projects were scattered over five VPSes. A deploy pulled the repo on the server and restarted the PM2 instance it ran under, usually triggered from GitHub Actions. Each site had its own Nginx configuration, with a Varnish layer in front, and adding another one meant writing that configuration, hoping it played nice with everything already on the server, then requesting a certificate and pasting the SSL block into the file.

Two failure modes came out of that. An Nginx change on one site took down other sites on the same server. The quieter one was Certbot: a certificate sometimes did not renew, and an expired certificate on a customer-facing site is a bad look.

## The move

I installed [Dokploy](https://dokploy.com) and moved a single project onto it first. That test was good enough that I never left. Over about a week I moved everything else, one application at a time, with very little downtime. There were no incidents, and the client projects on the box kept running.

Today it runs somewhere between 20 and 30 apps. Most are Node.js, with some Python and Go mixed in. The applications are stateless and their databases live elsewhere, which keeps the server replaceable. The blog is one of the apps on it.

## What a deploy looks like now

![1.00](https://media.ninokroesen.com/uploads/2026/10/f23807b4cb50f5253cbd/_1280.jpeg)

A project builds from the Dockerfile in the repo. Point Dokploy at the repo and it builds. For some projects GitHub Actions still runs the CI steps first and then calls the Dokploy deployment webhook. The difference is the deploy leg: the server no longer pulls the repo and restarts a process by hand.

Two things are still manual: environment variables and domains. The rest is automatic. Domains go through Dokploy's Cloudflare integration, which makes the DNS change and gives the site a valid SSL certificate. That one flow replaces the entire Nginx plus Certbot path I used to walk for every new site.

The UI does real work here. I can find the project I am working on, deploy it, change a domain and get a certificate from the same screen. It is the difference between deploying because I have something to ship and deploying as its own piece of work.

## The bill and the box

![1.00](https://media.ninokroesen.com/uploads/2026/10/f6b60913da9845acd2d0/_1280.jpeg)

The server is a Netcup box with 12 vCPU, 32 GB of RAM and 1 TB of disk. It was the biggest of the five and already big enough to hold everything, so I moved everything onto it and let the other four go. Dokploy's paid tier costs $4.50 a month. I pay it myself and there is no referral link in this post.

## What is still wrong

Nothing major has broken in two months, which is both the good news and the part that makes me uneasy. Dokploy's resource monitoring is not good. I have not received an alert yet, so I cannot tell you the alerting works, and I do not trust that it would tell me when the box runs out of resources. I run my own script for it, but the script is not robust. Better monitoring, for the server and for the applications on it, is the one thing I still have to solve. It is also the feature I most wish Dokploy handled itself.

The other limit is that I have only run it on one server. I do not know whether a single project can run in a cluster across several servers, so I cannot advise anyone on that shape. I expect scaling out to be easy if a project outgrows the box, but expectation is not experience.

## Two months in

![1.00](https://media.ninokroesen.com/uploads/2026/10/b285cda523467d4f4ea3/_1280.jpeg)

I would recommend it to anyone, with the one caveat that I have only run it on a single server. For someone still exploring an idea, the pitch is simpler: the time you do not spend on Nginx and certificates is time you spend on the idea. Even if the idea grows, the repo and the Dockerfile stay the same, and the box is the part you replace.

If you are running projects across more than one server, the thing worth doing this week is not copying my setup. Count how much of your deploy time goes to Nginx, certificates and restarting processes, then move one project and see whether the count drops.
