Membangun Home Lab: Mengubah Laptop Bekas Menjadi Server Eksperimen
Pengalaman praktis menginstal Ubuntu Server pada ThinkPad lama, konfigurasi Docker, reverse proxy, dan akses jarak jauh aman via Tailscale.
Membangun Home Lab: Mengubah Laptop Bekas Menjadi Server Eksperimen
Bagi seorang backend developer, ada pemahaman yang sulit didapat hanya dengan menyewa VPS di cloud: pemahaman tentang apa yang sebenarnya terjadi di layer sistem operasi, jaringan fisik, dan daemon Linux.
Untuk mendapatkan intuisi tersebut tanpa mengeluarkan biaya sewa server bulanan yang mahal, saya memutuskan mengubah laptop lama yang sudah tidak terpakai (Lenovo ThinkPad dengan prosesor Intel Core i5, RAM 8GB, dan SSD 256GB) menjadi sebuah home server tanpa layar (headless server).
1. Menyiapkan Hardware & Sistem Operasi
Langkah pertama adalah menghapus seluruh instalasi desktop dan menginstal Ubuntu Server 24.04 LTS (Headless).
Karena laptop memiliki baterai bawaan, laptop sebenarnya berfungsi mirip mini-server dengan Uninterruptible Power Supply (UPS) darurat jika listrik rumah padam sejenak. Namun, ada satu tantangan fisik: ketika layar laptop ditutup, sistem operasi secara default akan masuk ke mode Sleep/Suspend.
Agar server tetap menyala saat layar laptop ditutup rapat di sudut meja, kita perlu mengedit konfigurasi systemd login daemon di /etc/systemd/logind.conf:
# Buka file konfigurasi
sudo nano /etc/systemd/logind.conf
# Ubah atau tambahkan baris berikut:
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
# Restart service systemd logind
sudo systemctl restart systemd-logind
Dengan konfigurasi di atas, laptop dapat ditutup dan diletakkan rapi di rak tanpa pernah mematikan proses backend yang sedang berjalan.
2. Arsitektur Kontainer dengan Docker Compose
Seluruh layanan rekayasa di home lab dijalankan menggunakan Docker Compose. Ini memastikan seluruh konfigurasi layanan terdokumentasi rapi (Infrastructure-as-Code) dan mudah dipulihkan jika sistem perlu di-reinstall.
Beberapa kontainer inti yang selalu aktif:
- PostgreSQL 16: Database relasional utama untuk eksperimen skema FHIR dan simulasi kueri kompleks.
- Redis: In-memory caching dan pengujian antrean tugas (task queues).
- Caddy / Nginx: Web server reverse-proxy untuk mengelola domain internal seperti
postgres.lab.localatauapi.lab.localdengan sertifikat SSL lokal otomatis.
3. Akses Jarak Jauh Aman Menggunakan Tailscale VPN
Tantangan terbesar home lab rumahan adalah IP publik yang bersifat dinamis (CGNAT) dari penyedia internet (ISP), sehingga server tidak bisa diakses dari luar rumah tanpa port forwarding berbahaya yang membuka celah keamanan.
Solusi modern yang sangat elegan adalah menggunakan Tailscale (WireGuard-based Mesh VPN):
# Instal Tailscale di server Ubuntu
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Dengan Tailscale:
- Server mendapatkan alamat IP privat yang statis dan aman (misalnya
100.x.y.z). - Dari laptop kampus atau smartphone di luar rumah, saya dapat melakukan
ssh andika@100.x.y.zdengan enkripsi end-to-end tanpa perlu membuka port router rumah ke internet publik.
4. Kesimpulan & Manfaat bagi Perkembangan Diri
Mengelola home lab sendiri melatih intuisi penting yang tidak diajarkan di tutorial framework:
- Membaca dan menganalisis log sistem menggunakan
journalctldandocker logs. - Memahami alokasi memori Linux (swap space, oom-killer, dan buffer cache).
- Memahami dasar-dasar jaringan komputer (resolusi DNS, subnet routing, dan firewall
ufw).
Home lab adalah tempat terbaik untuk "berani merusak dan belajar memperbaikinya kembali".