From 9403c6d7cf06146c9f8b9b32654c31671043e28c Mon Sep 17 00:00:00 2001 From: vegard Date: Thu, 19 Mar 2026 00:57:40 +0000 Subject: [PATCH] =?UTF-8?q?26.3=20delvis:=20port=2025=20=C3=A5pnet,=20MX-i?= =?UTF-8?q?nstruksjoner=20dokumentert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- docs/setup/produksjon.md | 7 +++++++ tasks.md | 12 ++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/docs/setup/produksjon.md b/docs/setup/produksjon.md index 3139005..eb2232c 100644 --- a/docs/setup/produksjon.md +++ b/docs/setup/produksjon.md @@ -9,6 +9,13 @@ Denne oppskriften tar en fersk Ubuntu VPS fra null til en komplett Synops-instal - `sidelinja.org` + `*.sidelinja.org` - `synops.no` + `*.synops.no` - `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) ## 1. Grunnsikring av VPS diff --git a/tasks.md b/tasks.md index 356303c..ef40d5e 100644 --- a/tasks.md +++ b/tasks.md @@ -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.2 msmtp oppsett: konfigurer utgående epost via SMTP-relay. Avsender: `vaktmester@synops.no`. Tilgjengelig som `synops-mail --send --to --subject ` CLI-verktøy. -- [~] 26.3 MX-records: sett opp MX for synops.no, sidelinja.org, vegard.info som peker til serveren. - > Påbegynt: 2026-03-19T00:55 +- [?] 26.3 MX-records: sett opp MX for synops.no, sidelinja.org, vegard.info som peker til serveren. + > 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.` 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.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.