midgard¶
실제 애플리케이션 호스트입니다. 외부 트래픽은 yggdrasil의 Caddy가 tailnet의
midgard.tail6fc192.ts.net으로 전달하며 midgard의 서비스 포트는 공개
방화벽에서 열지 않습니다.
책임¶
- Homepage 대시보드 운영
- Forgejo (Git 호스팅) 운영
- Vaultwarden (비밀번호 관리자) 운영
- 컨테이너화된 앱을 위한 Podman 런타임 제공
로드하는 모듈¶
services/homepage.nix
services/forgejo.nix
services/vaultwarden.nix
modules/podman.nix # 호스트 전용 모듈
서비스 포트¶
| 포트 | 서비스 | 공개 URL |
|---|---|---|
8082 |
Homepage | https://home.ridewithmin.com |
3000 |
Forgejo | https://git.ridewithmin.com |
8222 |
Vaultwarden | https://vault.ridewithmin.com |
9100 |
node_exporter | — (Prometheus가 tailnet으로 수집) |
컨테이너 런타임¶
Podman은 midgard에만 활성화됩니다 (modules/podman.nix).
virtualisation.oci-containers.backend = "podman"- 주간 자동 prune (
podman-prune.timer) - 레지스트리 검색 경로:
docker.io,ghcr.io로 제한 - 이미지 태그는 반드시 고정 —
latest금지
장기 실행 컨테이너 서비스는 ad-hoc compose 명령 대신
virtualisation.oci-containers.containers로 선언합니다.
podman-compose는 임시 테스트와 수동 운영 용도로만 유지합니다.
Hermes Agent¶
Hermes Agent는 시스템 서비스가 아니라 poby의 Home Manager 환경
(home/poby/hermes-agent.nix)으로 설치됩니다. 런타임 상태와 자격 증명은
/home/poby/.hermes 아래에 변경 가능한 상태로 유지하며 구성이 안정화되면
선언적 Nix 구성으로 승격할 예정입니다.