3 min read

faultables home server 2023

2 tahun berlalu semenjak tulisan faultable home server 2021 yang technically tidak ada banyak perubahan dengan tulisan itu. Server Beelink GK35 sudah tidak digunakan karena pada saat itu (awal 2022 ig?) completely meninggoy dan sempat gue jadikan asbak (why not) saat masih di Bandung. Router dan Switch masih menggunakan barang yang sama, tapi sistem operasi yang digunakan menjadi Ubuntu 22.04 (Jammy Jellyfish, LTS) dari yang sebelumnya FreeBSD dan tentu saja masih menggunakan Tailscale sebagai VPN.

Container yang berjalan juga sudah tidak sebrutal kemarin yang sampai 30+, per tulisan ini diterbitkan hanya 18 container yang berjalan. Sebelumnya (circa pertengahan 2022) container berjalan langsung di si NUC, tapi di 5 Oktober 2023 pada akhirnya gue memutuskan untuk menjalankannya di VM via KVM.

In Alpine Linux we trust

Ada 5 VM yang berjalan di mesin dengan 2 CPU dan 8 GB memory ini:

  • arabasta (Alpine 3.18), PostgreSQL
  • dressrosa (Alpine 3.18), MariaDB
  • vira (Alpine 3.18), Minio
  • yuki (Alpine 3.18), Redis
  • water7 (Debian 12, bookworm), App (all containers)

Yang masing-masing memiliki spec tersendiri.

Penggunaan sumber daya nya relatif ringan, berikut tampilan dari htop(1) di hari yang normal:

Alpine gue pilih karena Small, Simple, dan Secure nya (plus masih mempelajari lebih lanjut tentang OS ini) dan ada menggunakan Debian karena berkaitan dengan kompatibilitas dan preferensi pribadi yang mana gue sudah relatif "kenal" dengan OS tersebut dan beberapa program ada yang masih bergantung dengan systemd.

Host OS tetap menggunakan Ubuntu karena males ganti-ganti lol.

Mac mini to the club

Kapan hari gue iseng membeli Mac Mini M2 dengan spek 8 CPU dan 8 GB memory yang tentu saja dengan arsitektur armv8 (aarch64). Karena dukungan Asahi Linux yang masih minim untuk chipset ini, dengan senang hati gue menggunakan Mac OS Sonoma yang sudah mendukung Virtualization.framework sebagai Hypervisor sejak Mac OS 11 (Big Sur).

Disini gue menggunakan Orbstack dan menjalankan 5 VM (3 NixOS (devbox) dan 2 Ubuntu (playground) alias Linux VMs) yang tidak kalah blazing-fast™ dengan KVM di Linux, meskipun gue masih meragukan kestabilannya (terlebih masih ada kendala terkait dynamic memory allocation di Mac OS).

Sejauh ini baru 2 container yang berjalan diatas Orbstack langsung: peertube-runner untuk menjalankan goddamned ffmpeg dan reverse proxy untuk... you know, proxy thing.

Gue mempertimbangkan menjalankan Linux machine di Mac Mini ini karena gue setup FileVault disini dan setup LUKS di mesin Linux langsung cukup membuat frustasi. Untuk saat ini gue hanya berharap bahwa file qcow2 disana tidak ada yang menganggu jika HDD gue pada suatu hari dicurry.

Networking

Driver yang digunakan masih sama (bridge) dan komunikasi antar VM gue rasa relatif cepat.

Tidak jauh berbeda dengan komunikasi antar container yang berada di 1 VM yang sama:

Meskipun memiliki subnet tersendiri (192.168.122.0/24), isolasi penuh belum gue terapkan sehingga koneksi keluar (di LAN yang berbeda subnet) masih terjadi.

Untuk saat ini koneksi dari internet ke jaringan rumah gue masih bergantung dengan Cloudflare, tentu saja ada rencana untuk keluar, mungkin di akhir tahun?

Penutup

Penampakan terakhir barang-barang di jaringan rumah gue seperti ini (hell yes udah gw setup failover untuk internet di rumah):

Entah kenapa gue cukup malas buat bersihin debu dari langit jakarta.

Setup ini tidak scalable (in terms of CPU/memory/storage) tapi setidaknya cukup untuk kebutuhan gue (meskipun selalu ingin lebih).

Waktu migrasi ke VM, gue kepikiran buat setup OpenStack alih-alih menggunakan virsh yang cukup ribet. Tapi setelah dipikir-pikir saat mandi, gue rasa lebih ribet manage OpenStack daripada mengingat perintah apapun yang ada di libvirt.

Jika ada yang bertanya kenapa pindah ke VM, alasannya adalah:

  1. Gue ada concern dengan data at-rest
  2. Backup lebih mudah (ehm snapshot VM) meskipun tidak efisien

Kenapa tidak dari dulu aja migrasi ke VM nya? Well, dapat hidayah nya pas 05 Oktober 2023 gan.