stura-infra/README.md
2025-11-14 16:41:31 +01:00

59 lines
1.7 KiB
Markdown

# 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.
![Flake Struktur](./flake-show.png "nix flake show")
# Ordner Hosts
jeder ornder ist ein system
- authentik
- mail
- git
Datei hosts/<name>/default.nix wird evaluiert und muss die alle weiteren z.B. authentik.nix importieren.
# Todo
- mailverteiler mitgliedschaft aus ldap gruppen?
- aliase aus ldap attributen?
- forgejo an authentik via oauth
- demo mäßg redmine in container copieren
# 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
```bash
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
```bash
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
```bash
nix run github:nix-community/nixos-anywhere -- --flake .#mail --target-host root@141.56.51.95
```