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:
parent
c07317f6d8
commit
9403c6d7cf
2 changed files with 17 additions and 2 deletions
|
|
@ -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
|
||||||
|
|
|
||||||
12
tasks.md
12
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.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.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue