DevOps og drift
Bygget på egen erfaring med Ubuntu-VPS, Docker og n8n hos Hetzner — fra terminal til overvåking.
Læringsrekkefølge
Terminal og Linux
Naviger filsystemet, administrer brukere og rettigheter på en Ubuntu-server.
ssh bruker@server-ip
ls -la
chmod 600 ~/.ssh/id_ed25519
sudo apt update && sudo apt upgradeProsesser og porter
Se hva som kjører og hvilke porter som er åpne før du eksponerer noe eksternt.
ps aux | grep node
sudo ss -tulpn
kill -9 <pid>Docker
Pakk applikasjoner og avhengigheter inn i containere som kjører likt overalt.
docker build -t mitt-image .
docker run -p 3000:3000 mitt-image
docker ps
docker logs -f <container>Docker Compose
Definer og kjør flere tjenester sammen som én stack.
docker compose up -d --build
docker compose logs -f
docker compose downReverse proxy
Rut innkommende trafikk fra nginx til riktig container basert på domene.
sudo nginx -t
sudo systemctl reload nginxDNS
Peke domener og subdomener til riktig server-IP.
dig roadmap.minth.no
nslookup roadmap.minth.noHTTPS
Kryptér all trafikk med gyldige, automatisk fornyede sertifikater.
sudo certbot --nginx -d roadmap.minth.no
sudo certbot renew --dry-runLogging
Samle og lese logger fra applikasjoner og systemtjenester.
journalctl -u nginx -f
docker compose logs --tail=100Backup
Sikkerhetskopier data og konfigurasjon automatisk, og test at gjenoppretting faktisk fungerer.
tar -czf backup-$(date +%F).tar.gz /var/lib/mitt-volum
crontab -eMonitoring
Overvåk oppetid og få varsel før brukerne merker noe.
CI/CD
Automatiser bygg og utrulling ved push til hovedgrenen.
Grunnleggende sikkerhet
Steng unødvendige porter, deaktiver passordinnlogging over SSH, hold systemet oppdatert.
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw statusTemaer i dybden
Ubuntu VPS
PågårHva: Egen virtuell server med full root-tilgang.
Hvorfor: Gir kontroll og forståelse som administrerte plattformer skjuler.
Bør kunne: Herde og vedlikeholde en server selv.
Hetzner
FerdigHva: Skyleverandør som brukes til å hoste egne VPS-er.
Hvorfor: Rimelig og forutsigbart alternativ for personlige prosjekter.
Bør kunne: Sette opp og administrere servere hos leverandøren.
Docker
PågårHva: Containerisering av applikasjoner.
Hvorfor: Konsistent kjøremiljø fra utvikling til produksjon.
Bør kunne: Skrive effektive Dockerfiles med multi-stage builds.
Docker Compose
PågårHva: Orkestrering av flere containere som én enhet.
Hvorfor: De fleste selvhostede oppsett består av flere samarbeidende tjenester.
Bør kunne: Definere nettverk, volumer og avhengigheter mellom tjenester.
n8n
FerdigHva: Selvhostet automatiseringsplattform.
Hvorfor: Kjernen i eksisterende automatisering og fremtidige prosjekter som dashboardet.
Bør kunne: Drifte, sikre og ta backup av egen n8n-instans.
nginx
PågårHva: Reverse proxy og webserver foran applikasjonene.
Hvorfor: Ruter flere subdomener til riktig tjeneste på én server.
Bør kunne: Konfigurere virtuelle hoster for nye subdomener trygt.
DNS
FerdigHva: Oppsett av A- og CNAME-oppføringer for domener.
Hvorfor: Forutsetning for at et subdomene skal peke til riktig server.
Bør kunne: Legge til nye subdomener uten hjelp.
Certbot
FerdigHva: Verktøy for å utstede Let's Encrypt-sertifikater automatisk.
Hvorfor: Automatiserer noe som ellers ville krevd manuell fornyelse.
Bør kunne: Legge til HTTPS for nye subdomener med ett kommando.
Let's Encrypt
FerdigHva: Gratis sertifiseringsinstans for TLS-sertifikater.
Hvorfor: Gjør HTTPS til standard uten kostnad.
Bør kunne: Forstå fornyelsessyklusen på 90 dager.
Uptime Kuma
NesteHva: Selvhostet oppetidsovervåking med varsling.
Hvorfor: Gir egen kontroll over overvåking uten tredjepartstjeneste.
Bør kunne: Overvåke alle offentlige tjenester med varsel til Telegram.
Telegram-varsler
PågårHva: Push-varsler sendt via Telegram-bot.
Hvorfor: Rask og pålitelig kanal for driftsvarsler.
Bør kunne: Koble monitoring og backup-jobber til varsling.
Automatiske backuper
PågårHva: Planlagte, testede sikkerhetskopier av data og konfigurasjon.
Hvorfor: En backup som aldri er testet er ikke en pålitelig backup.
Bør kunne: Kjøre og verifisere en gjenopprettingsøvelse periodisk.