selfhost-id: Panduan Self-Hosting untuk Pengguna Indonesia
# selfhost-id: Panduan Self-Hosting untuk Pengguna Indonesia
> **TL;DR** selfhost-id adalah komunitas dan panduan praktis bagi pengguna Indonesia yang ingin meng-host aplikasi sendiri di server pribadi. Dengan fokus pada hemat biaya, privasi data, dan kontrol penuh, panduan ini mencakup pilihan VPS, Docker, reverse proxy, hingga backup otomatis. Cocok untuk pemula hingga menengah yang ingin mulai self-hosting tanpa ribet.
## Daftar Isi
- [Kenapa Self-Hosting Makin Populer di Indonesia](#kenapa-self-hosting-makin-populer-di-indonesia)
- [Memilih VPS yang Tepat: Harga vs Performa](#memilih-vps-yang-tepat-harga-vs-performa)
- [Stack Dasar: Docker, Traefik, dan Portainer](#stack-dasar-docker-traefik-dan-portainer)
- [Keamanan dan Backup: Jangan Sampai Data Hilang](#keamanan-dan-backup-jangan-sampai-data-hilang)
- [Komunitas selfhost-id dan Sumber Belajar](#komunitas-selfhost-id-dan-sumber-belajar)
## Kenapa Self-Hosting Makin Populer di Indonesia
Biaya langganan SaaS menumpuk cepat bagi tim kecil dan individu. Sebuah tim 5 orang yang pakai Notion, GitHub, dan Zoom bisa keluar Rp 2–3 juta per bulan. Self-hosting memindahkan biaya itu ke infrastruktur sekali beli atau sewa VPS murah. Data juga tetap di tangan sendiri, bukan dikunci vendor asing.
Koneksi internet di kota besar sudah cukup stabil untuk server pribadi. Banyak ISP menawarkan upload 50–100 Mbps dengan harga terjangkau. Ini memungkinkan hosting Nextcloud, Gitea, atau Uptime Kuma dari rumah tanpa latency berlebihan. Untuk beban lebih berat, VPS cloud jadi pilihan wajar.
Komunitas open-source Indonesia semakin aktif berbagi konfigurasi siap pakai. Repositori GitHub seperti `awesome-selfhosted-id` menyediakan docker-compose yang sudah diuji di lingkungan lokal. Kurva belajar jadi lebih landai karena ada referensi bahasa Indonesia.
Saran saya, coba **Hetzner Cloud** — https://hetzner.cloud/?ref=XXXX. Bisa bantu tekan biaya VPS entry-level dengan performa solid untuk workload ringan hingga menengah.
## Memilih VPS yang Tepat: Harga vs Performa
| Provider | vCPU | RAM | SSD | Bandwidth | Harga/Bulan | Lokasi DC |
|----------|------|-----|-----|-----------|-------------|-----------|
| Hetzner CX22 | 2 | 4 GB | 40 GB | 20 TB | €4.15 (~Rp 70k) | Falkenstein, Helsinki |
| DigitalOcean Basic | 1 | 1 GB | 25 GB | 1 TB | $6 (~Rp 95k) | Singapore |
| Vultr Regular | 1 | 1 GB | 25 GB | 1 TB | $6 (~Rp 95k) | Jakarta, Singapore |
| Cloudzy | 2 | 4 GB | 50 GB | 2 TB | $10 (~Rp 160k) | Jakarta |
| Niagahoster Cloud | 2 | 4 GB | 50 GB | Unmetered | Rp 150k | Jakarta |
Hetzner menawarkan price-per-performance terbaik untuk workload kontinuerus. DigitalOcean dan Vultr punya edge di Singapore untuk latency rendah ke pengguna Indonesia. Cloudzy dan Niagahoster memberikan opsi pembayaran lokal (VA, QRIS) tanpa kartu kredit. Pilih berdasarkan prioritas: biaya, latency, atau kemudahan pembayaran.
Untuk production, minimal 2 vCPU dan 4 GB RAM. Ini cukup untuk Traefik + 5–10 container ringan (Gitea, Uptime Kuma, Vaultwarden, dll). Jika menjalankan database besar atau CI/CD, naikkan ke 4 vCPU / 8 GB. Selalu cek quota bandwidth — beberapa provider batas ketat dan mahal saat melebihi.
## Stack Dasar: Docker, Traefik, dan Portainer
Docker jadi standar de facto karena isolasi dan portabilitas. Install via script resmi: `curl -fsSL https://get.docker.com | sh`. Tambahkan user ke group `docker` agar tidak perlu `sudo` tiap command. Verifikasi dengan `docker run hello-world`.
Traefik sebagai reverse proxy otomatis meng-handle SSL (Let's Encrypt) dan routing berbasis label Docker. Konfigurasi `traefik.yml` statis + `docker-compose.yml` dinamis memisahkan concern. Label seperti `traefik.enable=true` dan `traefik.http.routers.app.rule=Host(\`app.domain.com\`)` cukup untuk expose service baru tanpa edit config manual.
Portainer memberikan UI manajemen container, stack, volume, dan network. Deploy via Docker sendiri: `docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce`. Akses di `https://portainer.domain.com`, set admin password, pilih environment local. Fitur "App Templates" mempermudah deploy aplikasi populer satu klik.
Simpan semua `docker-compose.yml` di folder `~/stacks/` dengan struktur per service. Gunakan `.env` file untuk secret (token, password, domain). Version control folder ini ke Git private — memudahkan disaster recovery dan kolaborasi tim.
## Keamanan dan Backup: Jangan Sampai Data Hilang
Fail2ban wajib
Comments
Post a Comment