Our team is waiting,
not building.

A proposal to give developers back their time by moving staging off AWS.

2-3
iterations / day
today
15-20+
iterations / day
proposed
"The build was broken on staging for two days. It worked locally. We spent hours on Slack with ops trying to reproduce it. Two days of the team blocked — and it turned out to be a config issue on their side."

The Problem

Our dev team loses hours every week — not writing code, but waiting.

Waiting for builds. Waiting for ops to deploy. Waiting for access. Waiting for answers to "can you check this log?" or "can you restart that service?".

Every time a developer needs something from the staging environment, the flow breaks. They context-switch. They open a ticket. They wait. They forget where they were. They start again.

This isn't an ops team problem — they're doing their job. It's a structural problem: our staging infrastructure requires an intermediary for every action.

A developer's day

Today

  1. Push code
  2. Wait 25-30 minutes for build + auto-deploy
  3. Test — find a bug
  4. Check database — remote, slow
  5. Check logs — Grafana on AWS, wait for queries
  6. Fix the bug, push again
  7. Wait another 25-30 minutes
  8. Repeat

When auto-deploy succeeds, no ops needed. But when something breaks — tickets, back-and-forth, waiting.

2-3 iterations per day

Proposed

  1. Push code
  2. Built and deployed in 2-3 minutes
  3. Test — check DB, logs, traces directly on LAN
  4. Fix, push again
  5. Deployed again in 2-3 minutes. Repeat.
15-20+ iterations per day
No waiting. No tickets. No coordination.
15-20+ iterations per day
No waiting. No tickets. No coordination.

Side-by-side comparison

Self-hosted staging Current (AWS + Ops)
Team autonomy Fully self-sufficient — zero ops dependency Every infra change goes through external team
Ops coordination None Meetings, tickets, Slack back-and-forth
Debug a staging issue Direct access — any port, any tool, instant Limited by ops permissions, context switching
Deploy a commit Auto-deploy on push + Dokploy for any branch/SHA (self-service) Auto-deploy on push (ops needed when it breaks)
Build speed ~2-3 min (local Gradle cache) 25-30 min
Dev cycles / day 15-20+ iterations 2-3 iterations

Build time per iteration

Today (AWS)
25-30 min
Self-hosted
2-3 min

What stays the same

Production stays on AWS.

1 production-like AWS environment stays — for regression testing and performance testing.

The ops team stays — they continue managing production.

This only changes staging and builds — the environments where developer speed matters most and enterprise SLAs don't.

"But who manages it?"

The honest answer:

10 min
per month. Total.

What those 10 minutes look like

Weekly Glance at Kuma dashboard — all green? Done. ~1 min
Monthly Review Diun notifications for container updates ~5 min
Monthly Proxmox security patches (if any) ~5 min

That's 0.1% of a working month.

Compare: the current ops coordination costs the dev team hours per week in context switching alone.

Why so little?

There's no cluster to manage. No Kubernetes. No Terraform. No cloud console.

It's 2 VMs running Docker containers. That's it.

Same compose.yml files we already use every day.

No new tooling to learn. No new deployment scripts to write. Dokploy just runs what we already have.

🔍
Kuma
alerts if anything is down
📦
Diun
watches for image updates
🚀
Dokploy
handles deployments

The system monitors itself.

What changes

3 AWS stages
3 stages + room to grow (2 local + 1 AWS prod-like)
25-30 min builds
2-3 min builds (10x faster)
Ops middleman for staging
Dev team owns staging (no middleman)
Ops needed when things break
Team fixes it directly, in minutes
€7k/month
€1.3k/month (same capabilities, more control)

The ask

€2,627
One server. Already partially ordered.

If it doesn't work out, we go back to AWS. Nothing is lost.

Timeline

Week 1
Assemble server, install Proxmox
Week 2
Set up Build VM, migrate CI/CD pipeline
Week 3
Set up Unak VM, deploy 20 services + Dokploy
Week 4
Team testing, parallel run with AWS
Week 5
Decommission 2 AWS stages, keep 1 prod-like

Oh, and the numbers

Current
€7k/month
Proposed
€1.3k/month

~€66k annual savings • €2,627 one-time hardware • pays for itself in ~2 weeks

One server. Five weeks. The team stops waiting.