Featured

    Featured Posts

  • dimana kehidupan
  • disitulah jawaban

Menghubungkan CasaOS ke Cloudflare Tunnel dengan Subdomain Kustom


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).

CasaOS ke Cloudflare Tunnel dengan Subdomain Kustom

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.

Install Cloudflared (Debian/Armbian)
# 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

Login (menghasilkan cert.pem)
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

Buat tunnel bernama: unified-tunnel
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)

/etc/cloudflared/config.yml
sudo nano /etc/cloudflared/config.yml
Contoh isi 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
Validasi config
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.

Buat CNAME otomatis ke Tunnel ID
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)

Run (test)
cloudflared tunnel --config /etc/cloudflared/config.yml run
# Jika sukses: biarkan berjalan (uji akses), lalu Ctrl+C untuk stop

Jadikan service (otomatis saat reboot)

/etc/systemd/system/cloudflared.service
sudo nano /etc/systemd/system/cloudflared.service
Isi ExecStart (pakai config.yml)
[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
Enable & start sebagai service
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 → CasaOS
  • https://n8n.example.com → n8n

Diagram Alur (Flow)

Browser User casa.example.com / n8n.example.com Cloudflare Edge CDN & Security Cloudflare Tunnel abcd1234-...-90ef CasaOS http://localhost:80 n8n http://localhost:5678

Perbandingan Metode

Install Cloudflare: CasaOS vs Command Line

MetodeKelebihanKekurangan
CasaOS App StorePraktis, klik-installUmumnya hanya 1 tunnel/token, fleksibilitas terbatas
Command LineFleksibel, multi-subdomain dalam 1 tunnel via config.ymlButuh kenyamanan dengan CLI

1 Tunnel untuk Banyak Subdomain vs 1 Tunnel per Subdomain

MetodeKelebihanKekurangan
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

author

Dwi Yanto

Sebuah Catatan Kecil Hidup Inyonk


Tulis yang dikerjakan, Kerjakan apa yang ditulis

Dapatkan Update Gratis disini!

Posting Komentar

www.CodeNirvana.in

Online Sejak 2013 Dwi Yanto | Blogger Templates | Designed By Code Nirvana