26.3 delvis: port 25 åpnet, MX-instruksjoner dokumentert

Port 25/tcp åpnet i UFW for innkommende SMTP (forutsetning for
epost-mottak). Dokumentert nøyaktige MX/A/SPF-records som trengs
i docs/setup/produksjon.md.

Selve DNS-endringene må gjøres manuelt i Hetzner DNS Console
(dns.hetzner.com) — Claude har ikke browser eller API-token.
Detaljerte instruksjoner i tasks.md.
This commit is contained in:
vegard 2026-03-19 00:57:40 +00:00
parent c07317f6d8
commit 9403c6d7cf
2 changed files with 17 additions and 2 deletions

View file

@ -9,6 +9,13 @@ Denne oppskriften tar en fersk Ubuntu VPS fra null til en komplett Synops-instal
- `sidelinja.org` + `*.sidelinja.org` - `sidelinja.org` + `*.sidelinja.org`
- `synops.no` + `*.synops.no` - `synops.no` + `*.synops.no`
- `vegard.info` + `*.vegard.info` - `vegard.info` + `*.vegard.info`
- DNS MX-records for epost-mottak (settes i Hetzner DNS Console):
- `synops.no` → MX `mail.synops.no` (prioritet 10)
- `sidelinja.org` → MX `mail.sidelinja.org` (prioritet 10)
- `vegard.info` → MX `mail.vegard.info` (prioritet 10)
- A-records for `mail.*` peker til samme IP (157.180.81.26)
- SPF TXT-record på hvert domene: `v=spf1 include:_spf.brevo.com a mx ~all`
- Brannmur: port 25/tcp åpen for innkommende SMTP
- SSH-tilgang med nøkkelpar (passordautentisering deaktiveres i steg 1) - SSH-tilgang med nøkkelpar (passordautentisering deaktiveres i steg 1)
## 1. Grunnsikring av VPS ## 1. Grunnsikring av VPS

View file

@ -347,8 +347,16 @@ sidelinja.org, vegard.info) ruter til samme bruker basert på username.
- [x] 26.1 Username i auth_identities: legg til `username`-kolonne, populer fra Authentik `preferred_username` ved login. Unik constraint. Oppdater auth-callback i SvelteKit til å lagre username. - [x] 26.1 Username i auth_identities: legg til `username`-kolonne, populer fra Authentik `preferred_username` ved login. Unik constraint. Oppdater auth-callback i SvelteKit til å lagre username.
- [x] 26.2 msmtp oppsett: konfigurer utgående epost via SMTP-relay. Avsender: `vaktmester@synops.no`. Tilgjengelig som `synops-mail --send --to <epost> --subject <emne>` CLI-verktøy. - [x] 26.2 msmtp oppsett: konfigurer utgående epost via SMTP-relay. Avsender: `vaktmester@synops.no`. Tilgjengelig som `synops-mail --send --to <epost> --subject <emne>` CLI-verktøy.
- [~] 26.3 MX-records: sett opp MX for synops.no, sidelinja.org, vegard.info som peker til serveren. - [?] 26.3 MX-records: sett opp MX for synops.no, sidelinja.org, vegard.info som peker til serveren.
> Påbegynt: 2026-03-19T00:55 > Spørsmål: Trenger tilgang til Hetzner DNS Console (dns.hetzner.com) for å legge til MX-records. Claude har ikke browser eller API-token. Vegard må legge til disse manuelt — se instruksjoner under.
> Kontekst: Port 25 er åpnet i UFW. Docs oppdatert med nøyaktige DNS-records som trengs. Alt som kan gjøres fra CLI er gjort. Mangler kun DNS-endringene i Hetzner-panelet.
> Instruksjoner for Hetzner DNS Console (dns.hetzner.com):
> 1. For HVERT domene (synops.no, sidelinja.org, vegard.info), legg til:
> - MX-record: `@``mail.<domene>` med prioritet 10
> - A-record: `mail``157.180.81.26`
> - TXT-record: `@``v=spf1 include:_spf.brevo.com a mx ~all`
> 2. Vent 5-10 min på DNS-propagering, verifiser med: `dig MX synops.no +short`
> Alternativt: Opprett en Hetzner DNS API-token (dns.hetzner.com → API Tokens) og legg den i /srv/synops/.env som HETZNER_DNS_TOKEN, så kan Claude automatisere DNS-endringer fremover.
- [ ] 26.4 Postfix minimal: installer Postfix som lokal MTA kun for mottak. Ingen relay, ingen kø for utgående. Pipe innkommende epost til `synops-mail --receive`. - [ ] 26.4 Postfix minimal: installer Postfix som lokal MTA kun for mottak. Ingen relay, ingen kø for utgående. Pipe innkommende epost til `synops-mail --receive`.
- [ ] 26.5 `synops-mail --receive`: Rust CLI som leser raw epost fra stdin. Sjekk 1: avsender-epost matcher `auth_identities.email`? Sjekk 2: innhold starter med "Kjære vaktmester" (eller konfigurerbar frase)? Begge må matche. Opprett `content`-node i brukerens innboks med epostinnholdet. Alt annet → /dev/null, ingen bounce. - [ ] 26.5 `synops-mail --receive`: Rust CLI som leser raw epost fra stdin. Sjekk 1: avsender-epost matcher `auth_identities.email`? Sjekk 2: innhold starter med "Kjære vaktmester" (eller konfigurerbar frase)? Begge må matche. Opprett `content`-node i brukerens innboks med epostinnholdet. Alt annet → /dev/null, ingen bounce.
- [ ] 26.6 Domene-alias: `vegard@synops.no`, `vegard@sidelinja.org`, `vegard@vegard.info` ruter alle til samme bruker via username-oppslag i PG. Domenet er irrelevant. - [ ] 26.6 Domene-alias: `vegard@synops.no`, `vegard@sidelinja.org`, `vegard@vegard.info` ruter alle til samme bruker via username-oppslag i PG. Domenet er irrelevant.