Skip to main content

3 posts tagged with "linux"

View All Tags

Pengalaman Berkecimpung Membuat Homelab 🏠

Β· 6 min read
Valerino Gozen
Back End Engineer at Berijalan

Bikin Homelab Sendiri ? Gampang! πŸ’»β€‹

Di awal tahun 2025, saya banyak terinspirasi dari diskusi di komunitas reddit seperti r/selfhosted. Melihat bagaimana para member disana membangun server pribadi untuk berbagai layanan mulai dari cloud storage hingga email server memicu rasa penasaran saya. Bukan hanya efisiensi biaya, tetapi juga kontrol penuh atas data dan privasi, serta kesempatan belajar yang bagi saya cukup worth it.

Salah satu miskonsepsi umum yang sering menghalangi pemula adalah anggapan bahwa homelab wajib memiliki alamat IP Statis agar bisa diakses dari luar. Dulu saya pun berpikir demikian. Namun, perkembangan teknologi telah menyediakan solusi untuk tantangan ini.

Dalam tulisan ini, saya akan berbagi pengalaman dalam proses penyiapan homelab pribadi, mulai dari merakit kembali part pc saya yang ada, konfigurasi OS Linux, hingga mengelola aplikasi dengan Docker.

Mengapa Membangun Homelab?​

  • Efisiensi Biaya: Alternatif gratis untuk layanan berbayar seperti cloud storage atau web hosting.
  • Kontrol & Privasi: Kendali penuh atas data pribadi tanpa campur tangan pihak ketiga.
  • Sarana Belajar: Kesempatan luar biasa untuk mendalami dunia server, jaringan, dan cyber security.

Arsitektur dan Perangkat Keras​

Berikut adalah diagram arsitektur singkat homelab saya:

Arsitektur Selfhost

  • Server Utama: PC desktop lama (Intel i3, 16GB RAM).
  • Server Pendukung: STB (Set-Top Box) dengan keadaan root seharga Rp 150.000.

Note : Menurut saya STB ini merupakan salah satu barang yang cukup worth it untuk memulai belajar self hosting tanpa merogoh kocek yang cukup mahal + hemat listrik ketika dinyalakan terus menerus

Karena penyedia internet (ISP) di rumah saya tidak menyediakan IP publik statis, saya mengandalkan dua tools utama agar layanan yang berjalan di server tetap dapat diakses secara fleksibel dan aman.

1. Cloudflare Tunnel (Zero Trust) πŸš€ Layanan ini membuat aplikasi di server lokal bisa diakses secara publik melalui domain.

  • Fungsi: Menjadi "terowongan" aman antara server di rumah dengan jaringan global Cloudflare.
  • Keuntungan Utama:
    • Akses Publik: Layanan bisa diakses dari mana saja lewat nama domain.
    • Keamanan: Tidak perlu membuka port di firewall rumah, sehingga lebih aman dari serangan.
  • Biaya: Tersedia paket gratis yang sangat memadai untuk kebutuhan personal.

untuk lebih lengkapnya bisa kunjungi blog saya mengenai setup Cloudflare Tunnel

2. Tailscale πŸ›‘οΈ Layanan ini menciptakan jaringan pribadi (VPN) yang aman untuk semua perangkat saya.

  • Fungsi: Menghubungkan server, laptop, dan smartphone dalam satu jaringan virtual yang terenkripsi.
  • Keuntungan Utama:
    • Akses Terbatas: Hanya perangkat dan pengguna yang diizinkan yang bisa masuk ke jaringan.
    • Keamanan Maksimal: IP asli server tidak tyaerekspos ke internet sama sekali. Sangat ideal untuk manajemen server jarak jauh.
  • Biaya: Gratis untuk penggunaan pribadi.

Aplikasi yang Saya Self-Host di Homelab​

Mayoritas aplikasi yang saya self-host dijalankan menggunakan Docker Compose, dengan Portainer sebagai alat utama untuk memanage sekaligus menjadi dashboard container. Sebagian besar layanan ini saya gunakan untuk kebutuhan pribadi, sehingga peran Tailscale sangat penting di homelab saya.

Dengan Tailscale, semua aplikasi berjalan di jaringan privat dan tidak bisa diakses secara publik. Hanya perangkat atau orang yang sudah didaftarkan di Tailscale yang bisa mengakses layanan tersebut. Cara ini membuat homelab tetap aman, tapi tetap praktis digunakan kapan saja.

Berikut beberapa aplikasi yang saya jalankan di homelab:


1. Beszel – Monitoring Sederhana, Ringkas, dan Efektif​

Beszel Sample

Kalau butuh aplikasi monitoring yang ringan tapi cukup lengkap, Beszel jadi pilihan tepat. Ia bisa menampilkan penggunaan resource server (CPU, RAM, storage, hingga network), bahkan memberi notifikasi alert kalau ada resource yang sudah mencapai ambang batas.

Untuk kebutuhan saya, Beszel lebih dari cukup dibanding harus men-setup Grafana + Prometheus yang jauh lebih berat dari segi penggunaan resource.

  • Monitoring : CPU, RAM, storage, dan network
  • Mendukung Docker: bisa monitoring container secara langsung
  • Multi-instance: bisa dipasang di banyak server dengan agent
  • Setup cepat dan mudah
  • Alert bawaan kalau resource melebihi batas

2. Rustdesk – Remote Desktop Gratis​

Kadang saya butuh akses ke server lewat tampilan GUI, bukan sekadar terminal. Untuk itu saya pakai Rustdesk. Aplikasi ini gratis, setup-nya mudah, dan bisa diselfhost kalau mau. Rasanya seperti punya RDP (Remote Desktop Protocol) sendiri, tapi tanpa ribet.

Poin penting:

  • Remote desktop gratis
  • Setup mudah, tidak ribet
  • Bisa selfhost server relay jika dibutuhkan

3. Syncthing – Sinkronisasi File Peer-to-Peer​

Kalau Anda sering pindah-pindah file antar device, Syncthing wajib dicoba. Aplikasi ini memungkinkan sinkronisasi folder secara peer-to-peer, langsung antar perangkat, tanpa lewat cloud pihak ketiga.

Poin penting:

  • Web GUI yang mempermudah manajemen file/folder
  • Peer-to-peer langsung tanpa server pusat
  • Sinkronisasi otomatis antar device

4. Portainer – Dashboard Docker​

Bagi saya, Portainer adalah β€œdashboard wajib” di homelab. Lewat antarmuka berbasis web, saya bisa dengan mudah membuat template docker-compose, mengelola container, hingga backup.

Poin penting:

  • GUI berbasis web yang ramah pengguna
  • Mempermudah deployment container Docker
  • Remote management lewat agen Portainer
  • Backup template & container dengan mudah

5. File Browser – File Explorer​

Sesuai namanya, File Browser adalah file explorer berbasis web. Konsepnya mirip Google Drive atau OneDrive, tapi berjalan di server pribadi.

Poin penting:

  • Antarmuka web seperti Google Drive
  • Ringkas & ringan dalam penggunaan
  • Mudah untuk akses dan manajemen file

6. n8n – Workflow Automation​

Tahun 2025 ini, n8n lagi booming. Aplikasi ini memungkinkan kita membuat workflow automation tanpa coding yang terlalu rumit. Bagi saya yang punya background programming, n8n sangat menyenangkan untuk dieksplorasi.

Poin penting:

  • Cocok untuk eksplorasi otomasi data
  • Interface mudah dipahami
  • Komunitas besar yang aktif

7. CouchDB – Database untuk Obsidian​

Saya gunakan CouchDB khusus sebagai database untuk Obsidian, agar bisa sinkronisasi catatan secara mandiri tanpa harus menggunakan layanan berbayar.

Poin penting:

  • Database ringan untuk kebutuhan kecil
  • Integrasi lancar dengan Obsidian

8. Stirling PDF – Alternatif Aman untuk PDF Tools​

Kalau sering berkutat dengan PDF, Stirling PDF adalah penyelamat. Fiturnya mirip iLovePDF (merge, split, compress, dll.), tapi karena diselfhost, privasi file lebih terjaga.

Poin penting:

  • Tools PDF lengkap: merge, split, compress, dll.
  • Lebih aman karena selfhost
  • Cocok untuk pekerjaan rutin dengan PDF

9. Umami – Analytics​

Buat Anda yang ingin alternatif Google Analytics, Umami layak dicoba. Setup-nya mudah, fiturnya cukup lengkap, dan bisa diakses publik untuk men-track trafik website.

Poin penting:

  • Alternatif Google Analytics open-source
  • Setup cepat & ringan
  • Privasi lebih terjaga dibanding Google Analytics

10. Adguard Home – DNS Filtering​

Di STB saya, ada Adguard Home yang bertugas memfilter DNS. Jadi, setiap request DNS bisa disaringβ€”apakah termasuk ke daftar berbahaya, penuh iklan, atau aman diakses.

Poin penting:

  • Filtering DNS dari iklan & malware
  • Meningkatkan keamanan browsing
  • Bisa diatur untuk semua perangkat jaringan

11. Upsnap – Memantau Device via MAC Address​

Upsnap membantu saya mengetahui apakah sebuah device sedang aktif atau mati hanya dari MAC address-nya. Sangat berguna, apalagi saat listrik padamβ€”karena STB otomatis hidup, sementara server butuh saya nyalakan manual.

Poin penting:

  • Pantau status device hanya dengan MAC Address
  • Berguna saat listrik padam
  • Bisa dipasang di STB untuk monitoring tambahan

Cara Self-Host Cloudflared Tunnel di Linux

Β· 3 min read
Valerino Gozen
Back End Engineer at Berijalan

Pendahuluan​

Cloudflare Tunnel adalah solusi untuk mengekspos layanan lokal ke internet tanpa:

  • πŸ”’ Keamanan data terjamin
  • ⚑ Akses tanpa IP statis
  • 🌐 Integrasi mudah dengan Linux
  • IP publik statis
  • Membuka port firewall
  • Khawatir tentang CGNAT dari ISP
info

Catatan Platform:
Tutorial ini menggunakan Ubuntu 24.04 LTS, tetapi kompatibel dengan:

  • Windows (x64/ARM)
  • macOS
  • Docker
  • Raspberry Pi (ARM architecture)

Prasyarat untuk Self-Hosting Cloudflared di Linux​

  1. βœ… Akun Cloudflare (Daftar Gratis)
  2. βœ… Domain yang sudah terdaftar di Cloudflare
  3. βœ… Akses root/sudo ke perangkat lokal
  4. βœ… Koneksi internet stabil

Langkah 1: Registrasi Domain di Cloudflare​

Cloudflared self-host di Linux: Domain Setup

  1. Login ke Cloudflare Dashboard
  2. Klik "Add a Site"
  3. Masukkan domain Anda (contoh: domainanda.com)
  4. Pilih plan Free
# Contoh nameserver Cloudflare:
ns1.cloudflare.com
ns2.cloudflare.com

Troubleshooting Domain​

Jika error "Invalid nameserver", update nameserver di registrar domain.
Proses propagasi DNS biasanya memakan waktu 5-30 menit.
Verifikasi status di WhatsMyDNS.

Langkah 2: Setup Zero Trust Tunnel​

Cloudflared self-host di Linux: Zero Trust Setup

  1. Navigasi ke Access > Zero Trust
  2. Pilih Networks > Tunnels
  3. Klik Create a tunnel
  4. Beri nama yang deskriptif (contoh: server-utama)

Langkah 3: Instalasi Cloudflared​

Untuk Ubuntu/Debian​

# Download package terbaru
wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb

# Install package
sudo dpkg -i cloudflared-linux-amd64.deb

# Verifikasi instalasi
cloudflared --version

Untuk Sistem Lain​

OSInstall Command
WindowsUnduh dari release page
Dockerdocker run cloudflare/cloudflared:latest tunnel --no-autoupdate run <TOKEN>
Raspberry Piwget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-arm

Langkah 4: Koneksikan Tunnel​

  1. Salin perintah dari dashboard Zero Trust
  2. Jalankan di terminal server Anda:
cloudflared tunnel --config /path/to/config.yml run <TUNNEL-NAME>

Verifikasi Koneksi​

# Cek status
sudo systemctl status cloudflared

# Lihat log real-time
journalctl -u cloudflared -f --output cat

Langkah 5: Konfigurasi Public Hostname​

Cloudflared self-host di Linux: Public Hostname Setup

  1. Buka tunnel yang sudah dibuat
  2. Klik Add a public hostname
  3. Isi form:
    • Subdomain: Misal web atau ssh
    • Domain: Pilih domain yang sudah terdaftar
    • Service: Protocol dan port lokal (contoh: http://localhost:8080)

Contoh Konfigurasi​

LayananURL TargetContoh SubdomainCatatan
Web Serverhttp://localhost:80wwwUntuk akses website
SSHssh://localhost:22sshAkses remote server
VNChttp://localhost:5901vncRemote desktop
Databasetcp://localhost:5432dbAkses PostgreSQL

Troubleshooting Lengkap​

1. Tunnel Tidak Terkoneksi​

# Restart service
sudo systemctl restart cloudflared

# Cek konektivitas
curl https://cloudflare.com

2. Domain Tidak Bisa Diakses​

# Test DNS
dig subdomain.domainanda.com

# Test koneksi tunnel
cloudflared tunnel ping

3. Error Certificate​

# Reset certificate
cloudflared tunnel reset

# Hapus cache
rm -rf ~/.cloudflared

Best Practices​

Keamanan​

  • Gunakan Access Policies untuk membatasi akses
  • Aktifkan 2FA di akun Cloudflare
  • Batasi akses berdasarkan negara jika perlu

Maintenance​

# Update rutin
sudo cloudflared update

# Backup konfigurasi
cp /etc/cloudflared/config.yml ~/cloudflared-backup.yml

Monitoring​

  • Aktifkan notifikasi di dashboard Cloudflare
  • Monitor resource usage di server

Penutup​

Keuntungan Menggunakan Cloudflare Tunnel:

☁️ Akses server dari mana saja
πŸ”’ Keamanan enterprise secara gratis
⚑ Tidak perlu konfigurasi jaringan rumit

Referensi Tambahan​

Instalasi CasaOS, Web UI yang cocok untuk dashboard selfhost

Β· 4 min read
Valerino Gozen
Back End Engineer at Berijalan

Pada kesempatan kali ini, saya akan membagikan langkah-langkah instalasi CasaOS di homelab pribadi saya. Bagi yang tertarik dengan self-hosting atau ingin membuat home server sederhana, CasaOS bisa menjadi pilihan menarik karena menyediakan tampilan yang mudah dipahami dan dapat menjalankan aplikasi berbasis Docker by default.

info

Catatan: Saat ini saya sudah menguji coba CasaOS pada arsitektur ARM (Armbian) dan x86_64 (Ubuntu 24.04 LTS).

Mengenal CasaOS​

CasaOS adalah sistem operasi berbasis Linux yang dirancang khusus untuk pengguna rumahan yang ingin menjalankan layanan self-hosted secara mudah melalui antarmuka web. Dengan CasaOS, Anda dapat mengakses dan mengelola aplikasi seperti Jellyfin, Nextcloud, AdGuard Home, dan beberapa aplikasi selfhosting lainnya.

Spesifikasi Hardware yang Saya Gunakan​

  • Prosesor: Intel i3-6100
  • RAM: 16 GB DDR4
  • OS: Ubuntu 24.04.2 LTS
  • Kernel: 6.8.0.59-generic
  • Versi CasaOS: 0.4.15

neofetch

Cara Instalasi CasaOS​

Ikuti langkah-langkah berikut untuk menginstal CasaOS di perangkat Anda:

1. Persiapan Awal​

Pastikan Anda telah memasang sistem operasi Linux di pada perangkat anda. Pada kasus ini, saya menggunakan Ubuntu 24.04.2.

2. Jalankan Perintah Instalasi​

Anda dapat mengunjungi situs resmi CasaOS untuk mendapatkan perintah instalasi terbaru. Atau gunakan perintah berikut langsung di terminal:

curl -fsSL https://get.casaos.io  | sudo bash

casaos

casaos-install

3. Akses Web UI CasaOS​

Setelah proses instalasi selesai, Anda akan diberikan URL lokal untuk mengakses antarmuka pengguna (Web UI) CasaOS. Buka URL tersebut di browser Anda dan buat akun pertama kali.

show-local

Menjalankan Aplikasi Self-Hosted dengan CasaOS​

Setelah berhasil login, Anda dapat langsung mulai menginstal aplikasi self-hosted melalui App Store yang tersedia.

4. Tampilan Utama CasaOS​

Saya telah menginstal beberapa aplikasi menggunakan Docker Compose untuk keperluan uji coba dan pengembangan.

note

Catatan: Anda juga bisa menggunakan file docker-compose.yaml secara manual untuk menginstal aplikasi yang tidak tersedia di App Store.

show-desktop

Eksplorasi App Store CasaOS​

App Store menjadi salah satu fitur utama CasaOS β€” Anda bisa mencari dan menginstal aplikasi populer dalam format Docker Compose hanya dengan beberapa klik saja.

appstore

manual-install

Fitur ini sangat membantu bagi pengguna awam yang ingin menjalankan aplikasi self-hosted tanpa harus bersusah payah menulis konfigurasi Docker sendiri.

Menambah Repository Eksternal (Opsional)​

Untuk memperluas koleksi aplikasi, Anda bisa menambahkan repository eksternal seperti Big Bear CasaOS.

insert-repo

Langkah-langkah Menambah Repository Baru​

  1. Buka menu App Store.
  2. Klik tombol More Apps.
  3. Masukkan alamat repository berikut:

input-bigbear

https://icewhale.bigbeartechworld.com/big-bear-casaos.zip 

Repository ini merupakan bagian dari komunitas BigBearTechWorld, sebuah repository 3rd party yang bekerja sama resmi dengan IceWhale (tim di balik CasaOS dan ZimaOS).

Setelah berhasil ditambahkan, Anda akan memiliki akses ke ratusan aplikasi tambahan yang siap diinstal dengan sekali klik.

Penutup​

Instalasi CasaOS cukup sederhana dan cepat, bahkan untuk pengguna yang baru memulai eksplorasi di dunia self-hosting. Dengan integrasi Docker dan dukungan App Store (termasuk repository eksternal seperti Big Bear), CasaOS memberikan pengalaman manajemen server rumahan yang modern dan user-friendly.

Rekomendasi blog lain​

Mungkin pada pengalaman saya pribadi, menginstall CasaOS saja tidak cukup namun kadang butuh sebuah infrastruktur tambahan untuk mengakses server saya secara publik maupun private menggunakan VPN (WIP)