Homelab & Self-Hosting
Docker Compose stacks, Caddy configs, systemd recipes, and the infrastructure that powers fogserv.cloud.
Philosophy
Everything we build runs first in our own homelab. Docker Compose files, Caddy configs, systemd user services — all tested on bare metal and Raspberry Pi before anything ships. Free for your lab, paid only if you want managed convenience.
Docker Compose Examples
Caddy Reverse Proxy
Auto-HTTPS reverse proxy with SNI-based virtual hosting.
services:
caddy:
image: caddy:2-alpine
ports: ["80:80", "443:443"]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
- caddy_config:/config
restart: unless-stopped
volumes:
caddy_data:
caddy_config:
See also: KB: Caddy Reverse Proxy
Forgejo Self-Hosted
Git hosting with CI/CD Actions built in.
services:
forgejo:
image: codeberg.org/forgejo/forgejo:17
ports: ["2222:22", "3000:3000"]
volumes:
- forgejo_data:/data
environment:
- USER_UID=1000
- USER_GID=1000
restart: unless-stopped
volumes:
forgejo_data:
See also: KB: Forgejo Setup
PostgreSQL
Managed database for applications with persistent volumes.
services:
postgres:
image: postgres:16-alpine
ports: ["5432:5432"]
environment:
POSTGRES_USER: ${DB_USER}
POSTGRES_PASSWORD: ${DB_PASS}
POSTGRES_DB: ${DB_NAME}
volumes:
- pg_data:/var/lib/postgresql/data
restart: unless-stopped
volumes:
pg_data:
Caddy + Node.js
Full stack with auto-HTTPS and API proxying.
services:
caddy:
image: caddy:2-alpine
ports: ["80:80", "443:443"]
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
depends_on:
- app
app:
build: .
expose: ["3000"]
restart: unless-stopped
volumes:
caddy_data:
Self-Hosting Guides
Docker Basics
Install Docker, understand images vs containers, and run your first service.
Read guide →Docker Compose
Orchestrate multi-container apps with docker-compose.yml files.
Read guide →Container Networking
Bridge networks, port mapping, and service discovery.
Read guide →Caddy Reverse Proxy
Set up Caddy as a reverse proxy with auto-HTTPS and SNI.
Read guide →Forgejo Setup
Self-hosted Git with CI/CD Actions, runners, and webhooks.
Read guide →k0s Kubernetes
Single-node Kubernetes with Helm, ingress, and monitoring.
Read guide →Our Stack
This site runs on the same stack you can replicate:
| Layer | Technology |
|---|---|
| Host OS | Arch Linux + Debian (mixed) |
| Web Server | Caddy (auto-HTTPS reverse proxy) |
| Process Manager | systemd user services |
| Container Runtime | Docker + Docker Compose |
| CI/CD | Forgejo Actions |
| AI Agent | fogserv-ai (Qwen 3.6 35B) |