The last comment block of each slide will be treated as slide notes. It will be visible and editable in Presenter Mode along with the slide. [Read more in the docs](https://sli.dev/guide/syntax.html#notes)
Det er mye forskjellig man kan sette opp på en homelab, blant annet:
- Home assistant for en smarthusløsning som integrerer med mange ulike gadgets, via ulike standarer og protokoller
- Kitchenowl som en handleliste man kan dele med alle i husstanden
- Nextcloud for skylagring og mye mer.
- Ente Photos for lagring og deling av bilder, samt 2FA app
- Actual Budget for budsjettering som kan kobles til banken din
- Gitea / Forgejo for å lagre å dele egen kode
Det finnes mye mer. Dersom det finnes et behov for en app så finnes det en open-source løsning som kan self-hostes.
Kan være veldig enkelt å sette opp! Ved å bruke docker og spesielt docker compose, kan man bare laste ned / skrive en fil
som man kjører for å sette opp applikasjonen. De fleste har veldig enkelt oppsett som kan settes opp på noen minutter med docker.
Dersom man ønsker å gjøre det tilgjengelig over nettet må man også sette opp domene å bruke en DNS provider og reverse proxy for å sende brukerne til rett sted.
- Jeg bruker Cloudflare som DNS provider, hvor domene blir registrert og sender trafikker til ruteren.
- Her er det registrert hoveddomene samt alle subdomener.
- Ruteren bruker port forwarding for å sende https trafikken videre til homelab.
- Homelab bruker Caddy for å ta imot requests og sende de videre til de ulike programmene med reverse proxy
- Den kan også bare returner ressurser som html eller filer
- Caddy håndterer automatisk TLS sertifikat uten noen ekstra konfigurering
- Så godt som alle tjenester på homelab bruker docker for å kjøre, dette gjør det utrolig enkelt å sette opp, og fjerne tjenester.
- Samt oppdateringer
- Man får mye gratis, logging, health checks, enkle oppdateringer, enkel testing på andre enheter
#### Deployment
Jeg bruker Gitea for git, hvor all min kode blir lagret. Her kan jeg også sette opp Gitea Actions, som virker nesten identisk til GitHub actions.
Dette kan enkelt brukes for å deploye tjenester på serveren, ved at Gitea runneren kjører på enheten direkte og kan utføre kommandoer fra kommandolinjen.
For eksempel å kjøre en docker build kommando for å oppdatere en container som kjører på serveren, med den nye koden i siste commit.
#### Sikkerhet
Både homelab og Raspberry Pi bruker Tailscale, som er en VPN som gjør det enkelt å koble seg på enhetene i tailnettet fra hvor som helst i verden.
Tailscale kan ikke self-hostes, men det finnes en open-source løsning som heter Headscale som kan det. Og det kan brukes for å koble enheter på tailnettet.
Disse er konfigurert slik at det er kun mulig å nå de over SSH, dersom man er på samme nettverk, eller koblet til VPN.
I tillegg må man også ha brukernavn, passord og en 2FA kode.