Why I’m Going Full Self-Hosted (Even With Zero Users)

Look, I’ll be honest with you: I haven’t deployed Oplinque  yet. But I’ve been staring at hosting options for weeks, and I’ve made my decision: I’m going self-hosted with Dokploy.

Is it worth it? Kinda. Even with no active users.

Why not just use the free tier? Every free hosting option has the same problem: your app goes idle. Vercel cold starts. Railway sleeps after inactivity. Render spins down. And suddenly your “production” app takes 10 seconds to wake up when someone actually visits.

I don’t want that. I want my app to just… run. All the time. On something I control.

So here’s what I’m planning, and why.

What the Heck is Dokploy?

Before we dive in, let me save you the Google search. Dokploy is an open-source, self-hosted PaaS (Platform as a Service). Think Vercel or Heroku, but you run it on your own VPS [1].

Dokploy Stats (December 2025)
  • Version: v0.26.2
  • GitHub: 136 releases, 254 contributors [1]
  • New Features: Custom Build Servers, Multi-Admin roles [2]
  • Supports: Docker Compose, Nixpacks, Heroku Buildpacks [1]

It’s free. It’s actively maintained. And it actually works.

Why Dokploy Over Coolify or CapRover?

I looked at all the options. Here’s my honest take:

ToolMy Verdict
CoolifyBeautiful GUI, but it eats RAM for breakfast. My $5 VPS was crying. [3]
CapRoverMature and stable, but Docker Compose support is… limited. [3]
DokployStreamlined, full Docker Compose, and doesn’t feel bloated. ✅

The research backs this up. Dokploy is described as having a “clean and streamlined interface” [3] while still supporting multi-server deployments.

My take? It’s just easier and less bloated. That’s it. That’s the reason.

The Stack (Because You’re Curious)

The Oplinque Monorepo
BunElysia.jsDrizzle ORMReact 19TanStackshadcn/uiDokploy

This isn’t a “Hello World” app. It’s a full-stack monorepo with web, API, and background services all running on one server.

  • Stack: Bun, Elysia, React, and PostgreSQL.
  • Infrastructure: Dokploy (managing DB + Redis + Apps).

All of this. On one server. For $5/month.

How It Actually Works (The Architecture)

It’s not magic, it’s just Docker. Here is the high-level flow of how code gets from my laptop to the internet:

  1. Push: I push code to main on GitHub.
  2. Webhook: GitHub notifies Dokploy via a webhook.
  3. Build: Dokploy pulls the repo and builds the Docker image using Nixpacks (no Dockerfile needed for most apps).
  4. Registry: The image is saved to my private GitHub Container Registry (GHCR).
  5. Deploy: Dokploy spins up the new container.
  6. Routing: Traefik (built-in) detects the new container and routes traffic from oplinque.com to port 3000.

No manual SSH. No git pull. It feels exactly like Vercel.

The VPS: OVH (Buy on Black Friday)

Let’s talk hosting. Dokploy is free, but you need a server to run it on.

Pro-tip: Black Friday is Your Friend

I bought my OVH VPS during Black Friday, got 30% off, and locked in the price. A VPS-1 that’s normally $4.20/month came down to ~$3.50/month. [5]

ProviderEntry VPSNotes
OVH (my pick)$4.20/mo (4 vCores, 8GB RAM) [5]Own datacenters, anti-DDoS included
Hetzner~$4/moPopular in EU
DigitalOcean$6/moBeginner-friendly, rarely discounts

Why OVH? They build their own datacenters, which means cheaper pricing. Plus, unlimited bandwidth up to 3 Gbps. [5]

Also, simply put: I need an Asia server. Most budget VPS providers have great US/EU pricing but expensive or non-existent Asia nodes. OVH has solid availability in Singapore and Sydney without the massive markup.

The Real Cost Data (Receipts)

Why go through all this trouble? Let’s look at the monthly bill for a typical “Modern Stack” vs. this setup.

ServiceManaged Cloud CostSelf-Hosted Cost
Compute (Vercel/Railway)$20/mo (Pro)$3.50/mo (VPS)
Database (Supabase/Neon)$25/mo (Compute + Storage)$0 (Included in VPS)
Redis (Upstash/Redis Cloud)$10/mo$0 (Included in VPS)
Monitoring (BetterStack/Datadog)$25/mo$0 (Open Source / Included)
Total Monthly~$80.00~$3.50

Annual Savings: ~$918.00

That’s a new MacBook Air every year. Just for learning Linux.

The War Stories (It Wasn’t All Sunshine)

Stage 1: The “No Such Image” Panic

My first deployment failed with manifest unknown. Dokploy couldn’t find my Docker image.

# Me, thinking I did everything right
docker pull ghcr.io/kevin-umali/oplinque-api:latest
# Error: manifest unknown

The Fix: GitHub Container Registry is private by default. I had to create a Personal Access Token (PAT) with read:packages scope and add it to Dokploy’s registry settings. [4]

Stage 2: The Encryption Fiasco

I generated a 64-character hex key for my AI encryption settings:

openssl rand -hex 32
# Output: 64 characters of pure confidence

The app crashed immediately. Turns out, my encryption library expected exactly 32 characters, not 64 hex characters (which is 32 bytes, but 64 chars).

The Fix: Use openssl rand -base64 24 instead. RTFM, folks. [4]

Stage 3: The Health Check Trap

This one drove me insane. My web container would start, run for 60 seconds, then receive a SIGQUIT and die. Over. And. Over.

The culprit? My health check was using wget:

{
  "Test": ["CMD", "wget", "--spider", "http://localhost:8080/health"]
}

But my nginx:alpine image doesn’t have wget. It has curl.

The Fix: Switch to curl. Just… always use curl. [4]

The Real Risk (Read This)

I need to be crystal clear about the downside.

If I get hacked, I’m fucked. If Dokploy goes down, I’m fucked.

That’s the trade-off. There is no support team. There is no “undo” button. If the server catches fire or I mess up a firewall rule, it’s 100% on me to fix it. If that scares you, stick to Vercel. For me? I’ll take the risk.

The Honest Review

Pros
  • Free & Open Source
  • Full Docker Compose support [3] 
  • Built-in monitoring + backups
  • Multi-server + Docker Swarm scaling [1] 
  • No vendor lock-in
Cons
  • You're the on-call engineer now
  • Newer project (launched April 2024) [3] 
  • Some features are source-available (not fully open) [3] 
  • VPS security is your responsibility
  • DNS propagation waits for no one

What I Actually Learned

1. Self-hosting is a skill, not a shortcut

You’re trading money for time. Those 4 hours of debugging? That’s the price of freedom.

2. Buy VPS hosting on Black Friday

Seriously. I saved 30% and that price is locked in for the life of the server.

3. Health checks are the silent killer

If your container keeps restarting, check your health check command first. Always.

4. Document while you deploy

I wrote detailed notes during my deployment. This blog post would’ve been impossible without them.

The Result

After 4 hours of setup and debugging:

  • Cost: ~$5/month (OVH VPS only)
  • Control: 100% mine
  • Vendor Lock-in: Zero
  • Sleep: Better (no surprise cloud bills)

If you’re tired of cloud costs and want to learn how infrastructure actually works, grab a VPS during the next sale and install Dokploy. It’s a weekend project that pays for itself.

What’s Next?

I’ll be writing a detailed guide on how to deploy on Dokploy using OVH (and all the other stuff). But for now? You’ll just have to wait.

Sources & References
[1]
Dokploy GitHub254 contributors, 136 releases
[2]
Dokploy Blog / Changelogv0.26 release notes
[3]
Dokploy vs Coolify vs CapRoverComparison (2024)
[4]
Personal deployment notesDecember 14, 2025
[5]
OVH VPS PricingBlack Friday deals

P.S. Want to see what I deployed? Check out Oplinque : the job tracking app I built to stop using spreadsheets. It’s free, it works, and yes, it runs on that $5 VPS. (Please don’t overload it, I’m literally watching the CPU graph right now).