cairn morgankryze/cairn:latest https://hub.docker.com/r/morgankryze/cairn bridge false https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/cairn.png http://[IP]:[PORT:8080] cairn is the page you hand to the people you host services for: family, a club, whoever ends up using your server. It shows your services and nothing else, with no account to create, no database and no outbound requests. The first run works with an empty config folder: cairn serves a getting-started page explaining what to do. Write a services.yaml in the folder mapped to /config and cairn picks it up within seconds, with no restart. If the file is invalid, cairn keeps the previous configuration and logs the key it did not recognise, so a typo never takes the page down. Each service can carry a live status pill pulled from Gatus or Uptime Kuma, so a visitor sees what is up before they click. The interface speaks eight languages and picks the visitor's own, and cairn serves its own legal and privacy pages. It ships as a single static Go binary in a scratch image, around 4 MB to pull, and it writes nothing at runtime, so the container runs read-only with every Linux capability dropped. The /config mapping is read-only for the same reason. Full reference: https://github.com/MorganKryze/cairn/tree/main/docs https://github.com/MorganKryze/cairn/issues https://github.com/MorganKryze/cairn https://raw.githubusercontent.com/MorganKryze/unraid-templates/main/templates/cairn.xml https://raw.githubusercontent.com/MorganKryze/cairn/main/README.md Network:Web Tools:Utilities dashboard homepage startpage directory multilingual guest GPL-3.0 2026-10-25 1.25.1: the hosting word folds again on a desktop, and the image rebuilds on Go 1.27.3 for a crypto/x509 fix. https://raw.githubusercontent.com/MorganKryze/cairn/main/docs/assets/home-light.png https://raw.githubusercontent.com/MorganKryze/cairn/main/docs/assets/home-dark.png https://raw.githubusercontent.com/MorganKryze/cairn/main/docs/assets/detail.png 8080 /mnt/user/appdata/cairn