Templates¶
Each top-level key of metaconfig.yaml selects the template of the same name and provides its parameters. The pages of this section list, for every template, what it deploys and the meaning, type and an example value of each parameter.
| Template | Type | Rootless | Description |
|---|---|---|---|
| core | – | mandatory administration login | |
| adguardhome | Service | DNS filter + DHCP | |
| authelia | Service | ✓ | login portal for the protected sites of Caddy |
| caddy | Service | ✓ | reverse proxy + automatic HTTPS |
| convertx | Service | ✓ | file converter (documents, images, audio, video, e-books) |
| ext4_drives | Storage | automatic mounting of ext4 drives | |
| forgejo | Service | ✓ | Gitea alternative |
| homeassistant | Service | ✓ | home automation hub, with Zigbee devices through a USB dongle (Zigbee2MQTT) |
| homepage | Service | ✓ | customizable dashboard listing the server's services and bookmarks |
| immich | Service | ✓ | self-hosted photo management (Google Photos-like) |
| jellyfin | Service | ✓ | media server |
| joplin | Service | ✓ | note-taking backend (Google Keep-like) |
| livesync | Service | ✓ | Obsidian vault synchronization backend (CouchDB) |
| matrix | Service | ✓ | private chat server (Discord-like) with the Element web client, not federated |
| matrix_rtc | Service | ✓ | voice and video calls for the Matrix server (LiveKit SFU + Element Call backend) |
| openwebui | Service | ✓ | web interface for LLM chat (Ollama, OpenAI-compatible APIs) |
| overleaf | Service | ✓ | LaTeX collaborative editor |
| prometheus | Service | ✓ | metrics collection and time series database, backing the Homepage widgets |
| stalwart | Service | ✓ | outgoing mail relay for the other services (SMTP submission + DKIM) |
| vaultwarden | Service | ✓ | password manager server compatible with the Bitwarden clients |
| wg_easy | Service | WireGuard VPN server with a web interface | |
| yamtrack | Service | ✓ | media tracker (movies, shows, anime, manga, games, books, comics) |
Rootless services run as a dedicated unprivileged user (u_<template>), with their Quadlet units under that user's home; the others need capabilities or host networking that only root can grant and are installed system-wide under /etc/containers/systemd/. See the design rationale for what each kind puts on the system, and the maintenance page for how to reach them.
Conventions¶
- Every service that serves HTTP takes an
http_porton which it is published on the host. Nothing is exposed to the internet by itself: publish it through a Caddy site pointing at that port. - Images are given in full (
registry/namespace/name:tag) and follow their tag through Podman's automatic updates, so prefer a major or major.minor tag tolatest. Every rootless template takes an optionalauto_updateschedule, documented on that page rather than repeated below. - Services that need to know their public address take a
hostname, which should match their Caddy site. - Internal credentials between the containers of one service are hard-coded in the template and never reachable from outside the pod; only the credentials you must know are parameters.
The terminology page lists every shared parameter name and what it means.