Skip to content

The service catalog

Services are the self-hosted building blocks of the network. They are enabled per host, in etc/config.yaml. The host profile does not matter.

Under a host’s services key, each entry enables a service. The (optional) value customizes it:

etc/config.yaml
services:
immich:
title: "Photos"
description: "My photos & videos"
domain: "photos" # service subdomain
global: true # → https://photos.domain.tld (public, no zone)
nextcloud:
domain: "cloud" # → cloud.<zone>.domain.tld (not global)
restic: # default values
FieldRole
(key)The service to enable (e.g. immich)
titleName displayed on the portal
descriptionSubtitle on the portal
domainSubdomain (default: service name). FQDN: <domain>.<zone>.domain.tld
globalExposes publicly via HCS: <domain>.domain.tld, without the zone (public DNS)
iconPortal icon
CategoryServices
Authenticationidm (Kanidm), vaultwarden
Files & cloudnextcloud, oxicloud, immich, garage, minio, nfs
Communicationmatrix, element, jitsi-meet, turn
Media & leisurejellyfin, mealie, geneweb
Productivityoutline, docs, searx
AIai (Open WebUI + Ollama)
Networkdnsmasq, adguardhome, headscale, tailscale, homepage
Developmentforgejo, harmonia, ncps
Monitoring & backupmonitoring, loki, restic
Systemfail2ban, postfix, printing, audio, home-assistant
  • Portal: the homepage service provides a services dashboard, per zone.
  • Single sign-on: most services go through SSO Kanidm.
  • Local or global: a service stays in its zone, unless global: true exposes it publicly.