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)
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
.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:
- Subdomain: f.eks.
home - Domain: dit domæne, f.eks.
eksempel.dk - Service:
http://localhost:8080(eller hvad porten er på din tjeneste)
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
- Tunnel vises ikke som Healthy: Tjek at tokenet er korrekt og at Pi'en har internetadgang.
- 502 Bad Gateway: Tjek at service-URL'en i hostname-konfigurationen peger på den rigtige port og protokol (
httpvs.https). - TLS-fejl i browser: Cloudflare-certifikatet er selvudstedt mod origin. Sæt SSL/TLS-tilstand til Flexible i Cloudflare-dashboardet, eller installer et origin-certifikat.
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.