====== Adding a New Service to the Homelab ======
A repeatable checklist for deploying a new self-hosted service on the folk.zone server (casa).
===== Prerequisites =====
* Docker image name and version
* Decided subdomain (e.g. ''service.folk.zone'')
* Container's internal port
===== Checklist =====
==== 1. Add to docker-compose.yml ====
The single stack lives at ''server/docker-compose.yml'' (deployed at
''~/homelab/server/'' on the server host):
service-name:
image: image:tag
container_name: folkzone-service
restart: unless-stopped
env_file: .env
volumes:
- ./service/data:/data
networks:
- folkzone_net
Any secrets go in ''server/.env'' (never committed).
==== 2. Add Caddy route ====
In ''server/caddy/Caddyfile'':
service.folk.zone {
reverse_proxy folkzone-service:port {
header_up Host {host}
header_up X-Real-IP {remote}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Proto {scheme}
}
}
==== 3. DNS ====
No per-service DNS step is needed: ''*.folk.zone'' is a wildcard A record at
**Porkbun** pointing at the public IP. Caddy issues a Let's Encrypt
certificate automatically on first request.
==== 4. Deploy ====
cd ~/homelab/server
docker compose up -d service-name
docker exec folkzone-caddy caddy reload --config /etc/caddy/Caddyfile
Note: if the Caddyfile was replaced by rsync, the inode changed and ''caddy reload''
sees no diff. Use ''docker compose restart caddy'' instead. See
[[folkzone:troubleshooting:caddy_autosave_not_loading_config|Caddy Autosave Not Loading Config]].
==== 5. Add to status page ====
''status.folk.zone'' is a custom dashboard: add the service to its config in
''server/status/''.
==== 6. Add to homepage services list ====
Update ''folkzone-eleventy/src/_data/services.json'' (or the services section
of the homepage) and rebuild with ''npm run build'' in ''folkzone-eleventy/''.
==== 7. Add a wiki page ====
Create '':folkzone:services:service-name'' following an existing page such as
[[folkzone:services:ethercalc|EtherCalc]].
===== See Also =====
* [[guides:start|Guides Index]]
* [[folkzone:services:caddy|Caddy]]
* [[start|Return to wiki home]]
Last updated: 2026-10-23