midgard¶
midgard is the primary application host. Caddy on yggdrasil forwards external
traffic over the tailnet (midgard.tail6fc192.ts.net). The public firewall
does not expose midgard's service ports.
Responsibilities¶
- Run the Homepage dashboard
- Run Forgejo (Git hosting)
- Run Vaultwarden (password manager)
- Provide the Podman runtime for containerized application services
Loaded modules¶
services/homepage.nix
services/forgejo.nix
services/vaultwarden.nix
modules/podman.nix # host-specific module
Service ports¶
| Port | Service | Public URL |
|---|---|---|
8082 |
Homepage | https://home.ridewithmin.com |
3000 |
Forgejo | https://git.ridewithmin.com |
8222 |
Vaultwarden | https://vault.ridewithmin.com |
9429 |
vlagent | No public exposure (tailnet-reachable via trusted interface); buffers journald logs to VictoriaLogs |
45876 |
beszel-agent | Not exposed; the agent dials the Beszel hub over the tailnet |
Container runtime¶
Only midgard enables Podman (modules/podman.nix).
virtualisation.oci-containers.backend = "podman"- weekly auto-prune (
podman-prune.timer) - registry search path limited to
docker.ioandghcr.io - image tags are pinned, never
latest
Long-running container services should be declared with
virtualisation.oci-containers.containers instead of ad-hoc compose
commands. podman-compose is kept only for temporary testing and manual
operator workflows.
Hermes Agent¶
Hermes Agent is part of poby's Home Manager environment
(home/poby/hermes-agent.nix), not a NixOS system service. Runtime state and
credentials remain mutable under /home/poby/.hermes until the setup is
stable enough to move into declarative Nix configuration.