Hvad du skal bruge

FORUDSÆTNINGER

  • Raspberry Pi (hvilken som helst model) med Raspberry Pi OS Bookworm, 64-bit anbefalet til Pi 4/5
  • En Cloudflare-konto (gratis) med et domæne tilknyttet Cloudflares navneservere
  • SSH-adgang til din Pi
  • Docker + Docker Compose (valgfrit, men anbefalet hvis du allerede bruger det)
💡 Domænet behøver ikke at være købt hos Cloudflare. Du kan flytte navneservere fra en eksisterende registrar (Namecheap, GoDaddy osv.) til Cloudflare gratis og bibeholde registreringen der, du startede.

Trin 1 – Opret tunnelen i Cloudflare Zero Trust

Gå til dash.cloudflare.com → Zero Trust → Networks → Tunnels og klik Create a tunnel. Vælg Cloudflared som connector-type og giv tunnelen et navn, f.eks. home-pi.

Cloudflare genererer et unikt token til din tunnel. Du bruger det i næste trin. Hold browserfanen åben.

Trin 2 – Installer cloudflared på Pi'en

Cloudflare viser en installationskommando direkte i dashboardet. Den ser ca. sådan her ud:

Metode A: Debian-pakke (anbefalet til Pi 4/5)

# Download ARM64-pakken
curl -L -o cloudflared.deb \
  https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm64.deb

sudo dpkg -i cloudflared.deb

# Registrer og start som systemd-service
sudo cloudflared service install DIT_TOKEN_HER

Brug cloudflared-linux-arm.deb (ARMv7) i stedet, hvis du kører en Pi 3 eller ældre med 32-bit OS.

Metode B: Docker Compose

Tilføj dette til din docker-compose.yml:

cloudflared:
  image: cloudflare/cloudflared:latest
  restart: unless-stopped
  command: tunnel --no-autoupdate run
  environment:
    - TUNNEL_TOKEN=${CLOUDFLARE_TUNNEL_TOKEN}

Gem tokenet i en .env-fil i samme mappe:

CLOUDFLARE_TUNNEL_TOKEN=indsæt_dit_token_her
⚠️ Commit aldrig .env-filen til git. Tilføj den til .gitignore med det samme.

Trin 3 – Tilføj en public hostname

Tilbage i Cloudflare-dashboardet under Public Hostnames tilføjer du:

Cloudflare opretter automatisk en DNS-post. Din tjeneste er nu tilgængelig på home.eksempel.dk via HTTPS. Cloudflare håndterer certifikatet.

Trin 4 – Cloudflare Access (valgfrit men anbefalet)

Uden Access er din tjeneste offentlig. Vil du kræve login, gå til Zero Trust → Access → Applications → Add an application.

Vælg Self-hosted, angiv din URL, og vælg en identity provider: Google, GitHub, eller blot en "One-time PIN" sendt til e-mail. Det koster ingenting og giver dig en login-mur uden at skulle skrive en linje kode.

Tjek status

# Systemd-installation:
sudo systemctl status cloudflared

# Docker:
docker compose logs cloudflared

Du bør se Connection registered i loggen og tunnelstatus som Healthy i dashboardet.

Fejlfinding

Ofte stillede spørgsmål

Skal jeg åbne porte i min router med Cloudflare Tunnel?

Nej, det er hele pointen. cloudflared på din Pi opretter en udgående forbindelse til Cloudflares netværk. Al indgående trafik fra internettet går gennem Cloudflares infrastruktur og ledes videre via den etablerede forbindelse. Din router ser kun udgående trafik fra Pi'en, og du behøver ikke port forwarding. Det betyder at din Pi's IP-adresse ikke er eksponeret, og angribere kan ikke scanne direkte mod dine tjenester.

Er Cloudflare Tunnel gratis?

Ja. Cloudflare Tunnel er gratis at bruge som del af Cloudflares Zero Trust-platform, og der er ingen grænse for antallet af tunneler eller trafik til privatbrug og hjemmelabs. Du skal have en gratis Cloudflare-konto og et domæne tilknyttet Cloudflares navneservere. Selve domænet kan du have hos en anden registrar — du overfører blot navneserverne til Cloudflare, hvilket er gratis. Cloudflare Access til login-beskyttelse af dine tjenester er ligeledes gratis for op til 50 brugere.

Hvad kan jeg eksponere med en Cloudflare Tunnel?

Enhver HTTP/HTTPS-tjeneste der kører på din Pi. Typiske eksempler er Nextcloud, Jellyfin, Home Assistant, Grafana, AdGuard Home og Gitea. Du tilføjer en public hostname per tjeneste i Cloudflare-dashboardet og peger den på den lokale port tjenesten lytter på. Cloudflare håndterer HTTPS-certifikater automatisk. Ønsker du kun autoriserede brugere kan tilgå en tjeneste, tilføjer du Cloudflare Access som en login-mur foran.

Kilder