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.