| hosts | ||
| .gitignore | ||
| default.nix | ||
| flake-show.png | ||
| flake.lock | ||
| flake.nix | ||
| hardware-configuration.nix | ||
| hetzner-disk.nix | ||
| README.md | ||
StuRa HTW Dresden Mailserver
neue mailserver config, ersetzt von Hand konfiguriertes FreeBSD Relay System ohne Mailkonten.
Ziel ist es den Identity-Provider goauthentik mit ldap an simple-nixos-mailserver anzubinden.
In dieser Flake werden, wie durch den command nix flake show zu sehen, mehrere NixOS-Configuration und Pakete definiert.
Ordner Hosts
jeder ornder ist ein system - es wird builtins.readDir verwendet, um alle Unterordner zu finden und ein nixos System fpr jeden davon zu generieren.
- authentik
- git
- redmine
Datei hosts//default.nix wird evaluiert und muss die alle weiteren z.B. authentik.nix importieren. Davon ausgenommen ist der inhalt von default.nix im Hauptordner, diese Datei enthält alle globalen Einstellungen, die in jedem System aktiviert werden.
Todo
-
mailverteiler mitgliedschaft aus ldap gruppen?
-
aliase aus ldap attributen?
-
forgejo an authentik via oauth
-
demo mäßg redmine in container kopieren
-
demo mäßg forgejo in container einrichten
Setup
Folgende DNS-Records werden benötigt:
| Name | Type | IP |
|---|---|---|
| mail.test.htw.stura-dresden.de | A | 141.56.51.95 |
| lists.test.htw.stura-dresden.de | A | 141.56.51.95 |
| test.htw.stura-dresden.de | A | 141.56.51.95 |
| auth.test.htw.stura-dresden.de | A | 141.56.51.96 |
Man könnte auch nur mail.test.htw.stura-dresden auf die ip zeigen lassen und die anderen beiden Records als CNAME Verweis auf diesen namen zeigen lassen
Setup Authentik
nix run github:nix-community/nixos-anywhere -- --flake .#authentik --target-host root@141.56.51.96
im installierten System
Authentik kann nicht ohne env datei starten
echo "AUTHENTIK_SECRET_KEY=$(openssl rand -hex 32)" > /var/lib/authentik_secret
danach muss man dann im browser den initial setup flow machen und dann ldap provider einrichten https://docs.goauthentik.io/add-secure-apps/providers/ldap/generic_setup
/var/lib/authentik-ldap-env
AUTHENTIK_HOST=https://auth.test.htw.stura-dresden.de
AUTHENTIK_TOKEN=<token>
Setup Mail
nix run github:nix-community/nixos-anywhere -- --flake .#mail --target-host root@141.56.51.95