Ini bukan tutorial step-by-step, tapi cerita learning path saya β perjalanan otodidak belajar home server/self-hosted dari benar-benar nol. Kalau kamu baru mau mulai dan masih bingung “harus belajar apa dulu sih?”, semoga tulisan ini bisa jadi peta jalannya. Santai aja, ini cuma opini + pengalaman pribadi, bukan pakem.
Kalau kamu belum tahu sama sekali apa itu home server, mending baca dulu artikel sebelumnya biar konteksnya nyambung:
π₯οΈ Fase 0 β STB Bekas 2GB RAM + CasaOS: Kenalan Dulu #
Semuanya bermula dari STB HG680P bekas dengan RAM cuma 2GB. Waktu itu saya install CasaOS dan… jujur aja, saya nggak ngerti apa-apa. Nggak ngerti docker, nggak ngerti cara share file (NAS), nggak ngerti apa pun. Saya cuma klik-klik install app dari dashboard web-nya.
Yang menarik: tanpa sadar, app yang saya install itu sebenarnya jalan di dalam Docker. Saya belajar cara install app lewat UI, tapi belum paham apa yang terjadi di belakang layar. Buat penyimpanan, saya pakai flashdisk 32GB β cukup buat data-data kecil doang.
Apa yang dipelajari di fase ini:
- Cara kerja app store ala CasaOS (yang ternyata bungkus dari Docker)
- Konsep dasar storage: flashdisk dipasang, di-share, dipakai
- Bahwa hardware murah pun bisa jadi server
π‘ Tips fase 0 #
- Jangan nunggu hardware bagus. STB bekas atau flashdisk lama itu sudah cukup buat mulai. Yang penting mulai.
- STB + Armbian punya banyak cerita seru, misalnya ubah STB jadi server printer (CUPS) atau seting jadwal reboot otomatis biar nggak lemot.
- Kalau UI ala CasaOS terasa berat, ada alternatif minimalis: Portainer β ini juga jembatan bagus ke fase berikutnya.
π» Fase 1 β Laptop Kentang + Debian: Masa Belajar Beneran #
Ternyata ada laptop bekas Intel Celeron N4000, RAM 4GB. Laptop kentang banget, makanya saya pilih install OS yang sangat ringan dan minim bloatware: Debian. Di sinilah semuanya mulai “klik”.
Yang saya pelajari di fase ini adalah dua pilar utama β basic Linux dan Docker β karena menurut saya ini basic dari segala basic buat belajar home server/self-hosted. Kalau dua ini udah nempel, yang lain tinggal ikut.
π§ Basic Linux: Pondasi Segalanya #
Ini bagian yang paling penting. Nggak perlu jago dulu, cukup paham hal-hal berikut:
1. SSH β akses server tanpa GUI
Server kan nggak ada layarnya, jadi kita masuk lewat command line dari laptop:
sudo apt install openssh-server
sudo systemctl enable --now sshLalu dari laptop: ssh namakamu@ip-server. Sekali bisa ini, dunia baru kebuka. Buat yang masih nggak tahan liat terminal doang, bisa pasang Cockpit biar ada dashboard GUI dari browser.
2. User & permission β siapa boleh ngapa-ngapain
Linux itu tegas soal ini. Belajar yang dasar:
adduser namauserβ bikin user baruusermod -aG sudo namauserβ kasih akses admin (sudo)ls -lβ liat permission file (rwxr-xr-xdst.)chmod 755 fileβ ubah permissionchown user:group fileβ ubah pemilik
sudo. Kebiasaan ini nanti menyelamatkanmu di Proxmox, di server produksi, di mana pun.
3. Network β biar server ketemu & ketemu
ip addrβ liat IP serverip linkβ liat interface (eth0, wlan0, dll.)- Set static IP biar alamat server nggak berubah-ubah tiap restart (ini krusial kalau mau akses dari luar atau pasang reverse proxy)
- Kalau mau ukur kecepatan LAN beneran, coba iperf3
4. Storage β handle harddisk & fstab
lsblkβ liat disk yang ke-detectmount /dev/sdb1 /mnt/dataβ pasang manual- fstab β biar mount otomatis setiap boot. Saya punya artikel lengkapnya: Mount Drive Linux manual & auto mount via fstab
5. File management β cd, ls, cp, mv, rm, dan editor nano (paling ramah pemula) atau vim (kalau sudah nekat wkwk).
π‘ Tips fase basic linux #
- Biasakan baca
manβman ls,man chmod, dst. Dokumentasi selalu ada di server-mu sendiri. - Bikin alias untuk perintah yang sering dipakai:
alias up="sudo apt update && sudo apt upgrade". - Catat semua yang kamu ubah. Percayalah, satu bulan lagi kamu nggak akan ingat kenapa
nginx.confkamu beda dari bawaan.
π SMB β NAS ala Rumahan #
Setelah bisa SSH dan paham file, lanjut belajar SMB buat file sharing/NAS. Alasanku pilih SMB: ringan, native di Windows, dan bisa diakses dari smartphone juga. Nggak perlu bayar Google Drive, datanya ada di rumah sendiri.
Ada artikel yang sangat relate sama fase ini soal pendekatan NAS hemat:
Ringkas ceritanya: kadang solusi sederhana justru lebih awet daripada yang fiturnya segambreng.
π³ Docker & Docker Compose β Game Changer #
Ini yang bikin hidup jauh lebih mudah. Konsepnya: app dibungkus dalam kontainer yang isinya lengkap (app + dependensi), jadi tinggal jalan, nggak perlu ribet install dependensi satu-satu di sistem.
Perintah dasar yang wajib hafal:
docker ps # liat kontainer yang jalan
docker ps -a # liat semua termasuk yang mati
docker stop namakontainer # stop
docker start namakontainer # start lagi
docker logs -f namakontainer # liat log (penyelamat hidup)
docker exec -it namakontainer bash # masuk ke dalam kontainerTapi yang beneran game changer adalah Docker Compose: semua konfigurasi ditulis di satu file docker-compose.yml, tinggal docker compose up -d dan app jalan. Mau pindah server? Tinggal salin file-nya. Ini yang bikin saya berani install app sampai belasan.
Contoh app yang saya tulis pakai compose + Portainer: JDownloader2 dan FileFlows.
π‘ Tips fase docker #
- Selalu kasih nama kontainer (
--nameataucontainer_name:) biar gampang di-manage. - Pakai volume buat data, jangan simpan data di dalam kontainer β kontainer itu “sementara”, volume itu “awet”.
- Set restart policy:
restart: unless-stoppedbiar app ikut nyala otomatis pas server reboot. - Jangan pernah expose
docker.sockke kontainer yang nggak kamu percaya 100%. Itu setara kasih akses root ke server.
π VPN β Akses dari Luar Jaringan #
Poin menarik di perjalananku: ISP saya pakai CGNAT dan blokir Tailscale. WireGuard juga nggak bisa karena nggak punya IP publik. Solusinya? Netbird β gratisan, banyak fitur, dan tembus CGNAT dengan mulus.
π Fase 2 β Reverse Proxy: Traefik #
Setelah app makin banyak, akses mulai berantakan: tiap app beda port, nggak ada SSL, dashboard tiap app login sendiri-sendiri. Solusinya reverse proxy β satu pintu masuk, routing berdasarkan subdomain, plus SSL otomatis.
Saya pakai Traefik, dan sudah saya tulis lengkap di sini:
Yang saya dapat dari fase ini:
- SSL gratis (Let’s Encrypt) otomatis, bahkan tanpa buka port 80 (pakai DNS-01 Cloudflare) β cocok banget buat yang kena CGNAT seperti saya
- Satu pintu masuk:
app1.domain.com,app2.domain.com, dst. β nggak perlu hafal port - Bonus keren: scale-to-zero pakai Sablier + Traefik biar kontainer yang jarang dipakai mati otomatis dan hemat RAM
π§© Fase 3 β Upgrade Hardware & Migrasi ke Proxmox #
Hampir satu tahun, app yang keinstall makin banyak dan hardware lama (4GB RAM) mulai kewalahan. Waktunya upgrade: beli hardware baru β Intel Core i3-6100, RAM 16GB. Masih 2 core sih, tapi cukup capable buat banyak aplikasi.
Sekalian, saya migrasi kedua hardware ke Proxmox VE. Kenapa? Dua alasan utama:
- Community scripts β install app/LXC/VM jadi jauh lebih gampang: tinggal pilih script dari community-scripts.org, jalan, selesai.
- Proxmox Backup Server (PBS) β backup jadi jauh lebih mudah dan terpusat.
Karena sudah belajar Debian (CLI, user, network, fstab) dan Docker (konsep kontainerisasi), Proxmox yang udah ada GUI + script bantuan jadi terasa jauh lebih mudah. Tinggal belajar istilah dan setting baru.
π§ Konsep kunci yang perlu dipahami di Proxmox #
| Konsep | Penjelasan singkat |
|---|---|
| VM (Virtual Machine) | Virtualisasi penuh β punya kernel sendiri. Lebih berat, tapi isolasi paling kuat. |
| LXC (Container) | Mirip Docker, share kernel host. Ringan, cocok buat app homelab. |
| Storage pool | Tempat simpan disk/ISO (local, local-lvm, NFS, dll.). |
| Template/ISO | Image dasar buat bikin VM/LXC baru. |
| Snapshot | Foto kondisi VM/LXC β bisa balik kalau ada yang rusak. |
| Backup (PBS) | Backup terjadwal ke server backup terpisah. |
π‘ Tips fase proxmox #
- Jangan lompat langsung ke Proxmox kalau belum paham Linux. Banyak yang menyarankan pemula langsung Proxmox, tapi menurutku itu malah bikin pusing β kamu bakal belajar dua hal sekaligus (virtualisasi + linux). Satu-satu dulu.
- Pasang PBS di hardware terpisah kalau bisa. Backup yang disimpan di server yang sama itu setengah backup.
- Manfaatkan snapshot sebelum update β kalau update bikin rusak, tinggal rollback.
- Buat naming convention yang rapi buat VM/LXC-mu (
lxc-arr,vm-gaming, dst.) biar nggak bingung pas jumlahnya nambah.
π‘ Tips & Trik Umum (Belajar Otodidak) #
Ini yang menurutku paling berharga dari semua fase di atas:
- Belajar sambil bikin. Jangan cuma baca dokumentasi β install, rusakkan, perbaiki. Error adalah guru terbaik.
- Dokumentasikan semuanya. Simpan catatan config, perintah yang dipakai, dan keputusan yang diambil. Blog ini lahir dari kebiasaan itu.
- Backup config sebelum utak-atik. File config itu kecil, tapi nilainya besar.
cp file file.bakaja cukup buat mulai. - Server 24/7 itu bayar listrik. Kalau mau hemat daya, cek PowerTOP & hd-idle.
- Jangan expose semua ke internet. VPN buat akses pribadi, reverse proxy + SSL buat yang memang publik.
- Pakai
.envbuat rahasia (API key, password) β jangan hardcode di file compose atau config. - Satu masalah, satu pencarian. Belajar otodidak itu wajar bingung, tapi jangan menyerah di error pertama β cek log dulu (
docker logs,journalctl -xe), baru googling.
β FAQ #
Harus bisa Linux dulu sebelum belajar Proxmox? Nggak wajib, tapi sangat membantu. Pengalamanku: karena udah paham CLI, user/permission, dan konsep kontainer dari Docker, belajar Proxmox terasa jauh lebih cepat. Kalau langsung Proxmox dari nol, kamu belajar dua hal sekaligus dan itu berat.
Hardware minimum buat mulai itu apa? STB bekas 2GB RAM aja cukup buat mulai (lihat Fase 0 π). Mau lebih nyaman? Laptop bekas 4GB + Debian sudah sangat layak. Jangan beli server mahal sebelum butuh.
ISP-ku CGNAT, gimana cara akses server dari luar? Pakai mesh VPN seperti Netbird/Tailscale, atau Cloudflare Tunnel. Hindari langsung port forwarding β itu nggak akan tembus CGNAT dan malah bahaya.
Bedanya Docker, LXC, dan VM itu apa? Docker = kontainer aplikasi (paling ringan, jalan di atas OS). LXC = kontainer sistem (punya user-space sendiri, share kernel host). VM = virtualisasi penuh (punya kernel sendiri, paling berat tapi paling terisolasi). Pakai sesuai kebutuhan.
Kapan harus upgrade ke Proxmox? Saat hardware mulai penuh, kamu punya lebih dari satu server, atau butuh isolasi + backup yang rapi. Kalau baru satu server dan masih happy, nggak wajib pindah.
Belajar otodidak mulai dari mana? Mulai dari hal yang kamu pakai sehari-hari: bikin NAS dulu, install app favoritmu, baru ngembang. Dokumentasi resmi (Debian, Docker, Proxmox wiki) + YouTube + blog seperti ini cukup buat jalan.
π οΈ Troubleshooting Cepat #
| Gejala | Kemungkinan penyebab | Solusi |
|---|---|---|
| SSH connection refused | sshd belum jalan atau port beda |
sudo systemctl status ssh, cek ss -tlnp |
| Permission denied saat akses file | Permission/pemilik salah | ls -l, lalu chmod/chown yang benar |
| Mount hilang setelah reboot | Belum ditulis di fstab | Tambahkan entri di /etc/fstab, tes dengan mount -a |
| Kontainer restart terus-menerus | Konfigurasi salah (port, env, image) | docker logs namakontainer, cek error-nya |
| Tidak bisa akses dari luar | CGNAT / port forwarding salah | Pakai mesh VPN (Netbird/Tailscale) atau Cloudflare Tunnel |
| VM/LXC gagal start di Proxmox | Storage penuh / resource kurang | pvesm status, cek disk, hapus snapshot lama |
| Traefik 502 Bad Gateway | Kontainer beda network Docker | Pastikan app dan Traefik di network Docker yang sama |
Penutup #
Kalau diringkas, learning path saya gini: CasaOS di STB (kenalan) β Debian di laptop kentang (basic Linux + SMB + Docker + VPN) β Traefik (reverse proxy & SSL) β Proxmox (virtualisasi & backup). Setiap fase bangun di atas fase sebelumnya.
Yang paling penting bukan hardwarenya, tapi konsistensi belajar sambil bikin. Nggak perlu buru-buru, nggak perlu beli gear mahal, dan nggak perlu malu mulai dari yang kecil. Server pertamamu nggak harus sempurna β harus ada.
Kalau ada pengalaman, pertanyaan, atau learning path-mu sendiri yang beda, cerita di kolom komentar ya. Siapa tahu bisa jadi artikel lanjutan π
Salam homelab!