Skip to content
All projects

Project

Homelab

Linux server at home that hosts my projects with Docker Compose, exposed to the internet through Cloudflare Tunnel without opening ports.

  • Linux
  • Docker Compose
  • Cloudflare Tunnel
  • PostgreSQL
  • Ollama

Context

I wanted to deploy my projects for real, not just locally, and to learn what sits between the code and the user: operating system, containers, networking, certificates and backups.

Architecture

A Linux server with Docker Compose, one file per service. PostgreSQL shared across projects with one database per application, and Ollama for the language models. Cloudflare Tunnel publishes the services under my domains without opening ports on the router.

Decisions

Cloudflare Tunnel over an exposed reverse proxy: I give up some control, but I get managed TLS and no direct attack surface on my home network. A single PostgreSQL instead of one per project keeps memory usage down on a small machine.

What I'd do differently

I'd automate backups and monitoring from the very first service.