hello-homelab
Served from a closet, not a cloud.
This page runs in a Docker container on docker3, a virtual machine in a homelab, and reaches you through a Cloudflare tunnel. No platform, no rate limits.
Right now
- Status
- Live
- Host
- docker3 · container effccca2062c
- Deployed
- 2026-10-09 18:29 UTC · 3 days ago
- This request
- 2026-10-13 07:41:04 UTC
How a push becomes a deploy
- You push
git pushThe commit lands on GitHub. Your laptop never talks to the homelab.
- The VM polls
*/2 * * * * pull.shEvery two minutes cron on the VM runs git fetch with a read-only deploy key.
- Only if it moved
git reset --hard FETCH_HEADSame commit as last time? The script exits. A new one? It checks it out.
- Rebuild
docker build && docker runThe image is rebuilt and the container replaced, about 15 seconds of work.
- Serve
cloudflared → :3100The tunnel on docker1 forwards this hostname to the VM. No ports are open to the internet.