Instalasi gateway
Sebelum mulai, pasang Docker dan plugin Compose dari repositori resmi Docker (panduan Debian). Paket docker.io bawaan Debian 12 tidak menyertakan docker compose versi 2 yang dipakai di sini.
Saat memasang Debian, biarkan port uplink memakai DHCP dan jangan mengonfigurasi port LAN rak; port itu diatur oleh setup-host.sh.
-
Edit
host/gateway.envVariabel Arti RACK_IFinterface ke PoE switch rak (cek dengan ip -br link; di Debian biasanyaenp1s0,enp2s0, atauenx<mac>untuk adaptor USB)RACK_IP,RACK_PREFIXIP gateway di LAN rak (bawaan 10.10.0.1/24); sama dengan router, broker, NTP, dan server OTANTP_UPSTREAMalamat NTP Celestian (diutamakan); kosong = hanya 0-3.id.pool.ntp.org. Node di LAN rak tidak bisa keluar, jadi hulu ini hanya untuk gatewayDHCP_START,DHCP_END,DHCP_LEASEpool DHCP untuk Sentinel (bawaan 10.10.0.10 – 10.10.0.250, 12 jam; DC besar: pakai /23) -
Jalankan setup host
Terminal window sudo ./host/setup-host.shSkrip mengatur IP statis LAN rak, DHCP (dnsmasq), NTP (chrony), dan firewall (nftables), dan mengenali sendiri pengelola jaringan Debian (ifupdown), NetworkManager, atau systemd-networkd.
-
Siapkan
.envTerminal window cp -n .env.example .envPastikan
RACK_IPdi.envsama denganhost/gateway.env. Isi bagian riwayat dan koneksi ke Celestian (GATEWAY_ID,GATEWAY_KEY,WORKSPACE,CHANNEL,CELESTIAN_HOST,CELESTIAN_MODE). Lihat Bridge ke Celestian. -
Siapkan
mosquitto/conf.d/bridge.confSalin
bridge.conf.examplemenjadibridge.conf, lalu isi<ID-gateway>,<device-key-gateway>,<workspace>, dan<channel>. -
Jalankan
Terminal window docker compose up -d --buildKalau UPS terhubung ke NUT, tambahkan
--profile ups.
Memeriksa
Section titled “Memeriksa”docker compose psdocker compose logs -f history # ringkasan antrean tiap menit, cara koneksi yang berlakusudo nft list table inet celestian_gw # penghitung drop firewallchronyc tracking # jam gateway dan hulu NTPNode yang dicolok ke switch rak seharusnya mendapat IP dari pool, lalu muncul online di Celestian dalam hitungan detik.
Gateway sementara di MacBook (uji)
Section titled “Gateway sementara di MacBook (uji)”Selama mini PC belum ada, MacBook bisa menjadi gateway untuk pengujian: sambungkan switch PoE ke adaptor USB-Ethernet MacBook, nyalakan Internet Sharing (bagikan Wi-Fi ke adaptor itu) sehingga MacBook menjadi router dan DHCP server, lalu jalankan:
cd Gateway && docker compose -f docker-compose.yml -f docker-compose.mac.yml up -dBroker lokal memakai port 11883 (MQTT 3.1.1, alat uji) dan 11884 (MQTT 5, Sentinel). Perbedaan dengan gateway sebenarnya:
- MacBook tidak melayani NTP; node memakai pool internet (butuh jalur keluar) atau
ntp_serveryang diisi manual. - Tidak ada firewall LAN rak; node bisa mengakses internet lewat MacBook.
- Bila switch disambungkan ke router biasa, IP gateway bukan MacBook; set
mqtt_hostdi node. - Alat uji (
celestianctl.py,sim_device.py) perlu--port 11883. - Pengecekan jam:
GATEWAY_CLOCK_CHECK=offdi.env.
Tanpa hardware sama sekali, node bisa disimulasikan dengan sim_device.py.