Panduan Lengkap: Menghubungkan CasaOS ke Cloudflare Tunnel dengan Subdomain Kustom
Ringkas: Menghubungkan CasaOS dan aplikasi (mis. n8n) ke internet secara aman tanpa port forwarding menggunakan Cloudflare Tunnel dan subdomain kustom (contoh: casa.example.com
, n8n.example.com
).
Langkah ini sudah berhasil saya terapkan (coba-coba dipandu GPT), saya tulis disini untuk catatan pas besok mau nyoba-nyoba lagi.
CasaOS Cloudflare Tunnel Self-Hosting n8n STB Armbian
1) Persiapan
- Domain aktif di Cloudflare (contoh:
example.com
) - Akses root ke server (CasaOS di STB/mini PC)
- Akun Cloudflare (gratis)
2) Instalasi Cloudflared (Connector)
Opsi A — CasaOS App Store: praktis, klik-install, cocok pemula (umumnya 1 tunnel/token).
Opsi B — Command Line (disarankan): fleksibel, bisa multi-subdomain dalam 1 tunnel melalui config.yml
.
# Tambah repository Cloudflare
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list
# Update & install
sudo apt-get update && sudo apt-get install -y cloudflared
# Cek versi
cloudflared --version
3) Login ke Cloudflare
cloudflared tunnel login
# Buka URL yang muncul -> pilih akun & domain (example.com)
# Setelah sukses, kredensial origin tersimpan di: /root/.cloudflared/cert.pem
4) Buat Tunnel Lokal
cloudflared tunnel create unified-tunnel
# Catat Tunnel ID (UUID), misal:
# abcd1234-ef56-7890-abcd-1234567890ef
# File JSON otomatis dibuat di:
# /root/.cloudflared/abcd1234-ef56-7890-abcd-1234567890ef.json
5) Tulis config.yml
(Ingress Rules)
sudo nano /etc/cloudflared/config.yml
tunnel: abcd1234-ef56-7890-abcd-1234567890ef
credentials-file: /root/.cloudflared/abcd1234-ef56-7890-abcd-1234567890ef.json
ingress:
- hostname: casa.example.com
service: http://localhost:80
- hostname: n8n.example.com
service: http://localhost:5678
- service: http_status:404
cloudflared tunnel --config /etc/cloudflared/config.yml ingress validate
6) Hubungkan DNS → Tunnel
Pastikan tidak ada record lama/duplikat untuk casa.example.com
dan n8n.example.com
. Jika ada, hapus dulu di Dashboard Cloudflare → DNS.
cloudflared tunnel route dns abcd1234-ef56-7890-abcd-1234567890ef casa.example.com
cloudflared tunnel route dns abcd1234-ef56-7890-abcd-1234567890ef n8n.example.com
7) Menjalankan Tunnel
Test manual (foreground)
cloudflared tunnel --config /etc/cloudflared/config.yml run
# Jika sukses: biarkan berjalan (uji akses), lalu Ctrl+C untuk stop
Jadikan service (otomatis saat reboot)
sudo nano /etc/systemd/system/cloudflared.service
[Unit]
Description=cloudflared
After=network-online.target
Wants=network-online.target
[Service]
TimeoutStartSec=0
Type=notify
ExecStart=/usr/bin/cloudflared --no-autoupdate --config /etc/cloudflared/config.yml tunnel run
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable cloudflared
sudo systemctl start cloudflared
sudo systemctl status cloudflared --no-pager -l
8) Uji Akses
https://casa.example.com
→ CasaOShttps://n8n.example.com
→ n8n
Diagram Alur (Flow)
Perbandingan Metode
Install Cloudflare: CasaOS vs Command Line
Metode | Kelebihan | Kekurangan |
---|---|---|
CasaOS App Store | Praktis, klik-install | Umumnya hanya 1 tunnel/token, fleksibilitas terbatas |
Command Line | Fleksibel, multi-subdomain dalam 1 tunnel via config.yml | Butuh kenyamanan dengan CLI |
1 Tunnel untuk Banyak Subdomain vs 1 Tunnel per Subdomain
Metode | Kelebihan | Kekurangan |
---|---|---|
1 Tunnel → Multi-Subdomain | Hemat resource, 1 service & 1 file config | Jika tunnel down, semua subdomain terdampak |
1 Tunnel per Subdomain | Isolasi layanan lebih baik | Lebih kompleks, banyak service & manajemen |
Kesimpulan
Dengan Cloudflare Tunnel, Anda dapat memublikasikan CasaOS dan aplikasi seperti n8n ke internet aman, stabil, dan tanpa port forwarding. Untuk kebanyakan skenario self-hosting rumahan, pendekatan 1 tunnel untuk banyak subdomain paling praktis.
Tips: Backup /etc/cloudflared/config.yml
dan file kredensial JSON tunnel. Jika reinstall, cukup restore berkas-berkas itu, lalu start service.
Tag
CasaOS, Cloudflare Tunnel, Self-Hosting, n8n, STB Armbian, Server Rumah
Posting Komentar