SES Group
HomelabInfrastructure2025

Self-hosted NAS: my own delivery platform

One server that builds, tests and hosts all of it, without opening a single inbound port to the internet.

Role
Everything
Duration
2025, running
Built with
Docker · Caddy · Cloudflare Tunnel
Status
Live

The problem

To sell software you need somewhere to run it. Renting a cloud for every experiment gets expensive quickly, and that makes trying something out uncomfortable, which is the wrong threshold to have.

Approach

Outbound connections only. There are no inbound ports open to the house and no forwarding in the router. Everything reaches the internet through an outbound tunnel and a single reverse proxy that knows each hostname.

In
No open ports
Middle
One reverse proxy per hostname
Out
Static sites and services

What runs on it

One container per service, a reverse proxy in front of all of them, and read-only web roots for the static sites, so a web server can never write to what it serves. The configuration is version controlled and backed up on a schedule.

This site runs on it. So do the games at games.sesnas.com, and SES Quality, the first product.

Outcome

Publishing a change takes one command from my laptop. That made trying things cheap enough that things actually get tried.

What I learned

That the constraint which made it safe also made it simple. Once no ports were allowed to open, a series of other decisions fell into place on their own.

Should your solution run on your own hardware?

It can run on your server or on mine. That is your call, and it goes in the agreement.