SSD Nodes Learn Hosting plans →
Panduan Matt ConnorOleh Matt Connor

25 Aplikasi Self-Host Terbaik untuk 2026

Temukan 25 aplikasi self-host yang layak dijalankan pada 2026, lengkap dengan pengganti layanan, kebutuhan RAM dan disk realistis, serta jebakan tiap aplikasi.

Yang Anda bangun

Bukan satu aplikasi, melainkan daftar pilihan. Ini adalah pusat untuk semua hal lain di situs ini: dua puluh lima aplikasi yang benar-benar layak dijalankan sendiri pada VPS Anda pada 2026, dikelompokkan berdasarkan fungsinya. Untuk setiap aplikasi, Anda mendapatkan layanan yang digantikannya, perkiraan penggunaan RAM dan disk yang realistis, serta satu hal yang akan menimbulkan masalah jika diabaikan. Tautan mengarah ke panduan langkah demi langkah lengkap jika panduan tersebut tersedia.

Saya telah mengelola host VPS selama lima belas tahun dan menjalankan sebagian besar aplikasi ini pada server saya sendiri. Karena itu, angka penggunaan sumber daya di bawah menunjukkan penggunaan aktual aplikasi dalam beban kerja kecil yang nyata, bukan angka "minimum" dari halaman pemasaran. Gunakan angka tersebut sebagai anggaran, lalu sisakan kapasitas tambahan.

Prasyarat dan kenyataan yang perlu dipahami

Setiap aplikasi di sini berjalan pada KVM VPS Ubuntu 24.04 yang baru dipasang dengan akses root atau sudo. Daftar yang sama juga dapat dijalankan pada server di rumah. Jika Anda membandingkan biaya sewa bulanan dengan membeli RAM sekali, Proxmox di rumah dibandingkan dengan VPS sewaan membahas perhitungan perangkat keras dan daya. Hampir semuanya dirilis sebagai container Docker. Jadi, pasang Docker sekali dan Anda siap menjalankan hampir seluruh daftar ini. Dua pengecualiannya adalah Cloudron dan CasaOS. Keduanya dipasang langsung pada host menggunakan skrip penyiapannya sendiri. Lihat bagian control panel:

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world

Jika perintah docker gagal dengan permission denied while trying to connect to the Docker daemon socket, Anda melewati langkah penambahan group atau belum membuka shell baru. Keluar, lalu masuk kembali. Jika docker compose mengembalikan docker: 'compose' is not a docker command, Anda masih menggunakan binary standalone lama. Skrip di atas memasang plugin Compose modern, yang dipanggil sebagai docker compose. Gunakan spasi, bukan tanda hubung.

Tiga kenyataan menentukan bentuk seluruh pembahasan berikutnya. Pertama, RAM adalah batasan utama, bukan disk atau CPU. VPS 1 GB hanya dapat menjalankan satu aplikasi kecil, tidak lebih. 4 GB adalah kapasitas yang paling sesuai untuk server yang digunakan untuk self-host beberapa aplikasi. 2 GB berada di posisi sulit. Pemula sering menambahkan service ketiga, mengalami penghentian proses secara diam-diam karena Out-Of-Memory, lalu tidak pernah mengetahui mengapa container tiba-tiba hilang. sudo dmesg menampilkan baris Out of memory: Killed process yang ditelan daemon. Kedua, apa pun yang diakses publik memerlukan nama dan sertifikat. IP langsung dapat digunakan untuk pengujian, tetapi akan gagal ketika Anda ingin aplikasi ponsel atau browser memercayainya. Ketiga, dua port menentukan setengah dari pilihan Anda: port masuk 80 harus dapat menjangkau server untuk tantangan sertifikat HTTP-01 standar. Tantangan DNS-01 melewati kebutuhan tersebut dengan membuktikan kontrol melalui record DNS, sehingga berguna ketika port 80 ditutup. Port keluar 25 diblokir oleh sebagian besar provider. Karena itu, email dimasukkan ke daftar "jangan lakukan" di bagian akhir.

Berkas dan foto

  • Nextcloud menggantikan Google Drive, Dropbox, dan Google Calendar dalam satu suite. Siapkan RAM 1–2 GB, ditambah kapasitas sesuai ukuran berkas Anda. Hal yang perlu diperhatikan: SQLite cukup untuk demo, tetapi bermasalah di production. Instal Nextcloud dengan PostgreSQL sejak boot pertama karena migrasi database setelah data tersimpan di dalamnya merupakan cara paling umum yang menyebabkan instalasi Nextcloud rusak. Panduan lengkap Nextcloud pada VPS dengan Docker, TLS, dan pencadangan menyiapkannya dengan benar sejak awal.
  • Immich menggantikan Google Photos, termasuk aplikasi ponsel yang otomatis mengunggah seluruh foto dari kamera serta fitur pencarian wajah dan objek. Siapkan RAM 6 GB; dokumentasi Immich menyebutnya sebagai kebutuhan minimum, sedangkan 8 GB lebih nyaman. Container machine learning adalah bagian yang paling banyak menggunakan RAM. Siapkan juga kapasitas disk sebesar ukuran pustaka Anda, ditambah sekitar dua puluh persen untuk thumbnail. Hal yang perlu diperhatikan: Immich menggunakan semantic versioning sejak rilis stabil pertamanya, v2.0.0, pada Oktober 2025. Skema ini menunda breaking change hingga major version, dan Immich sudah beralih ke v3. Karena itu, jangan pernah menarik latest secara membabi buta karena Anda dapat langsung melewati major version berikutnya. Tetapkan versinya dan baca release notes sebelum setiap upgrade. Panduan pustaka foto Immich yang di-self-host menjelaskan jalur upgrade yang aman. Jika kebutuhan minimum 6 GB tersebut melebihi kapasitas server Anda, PhotoPrism dan Immich berdampingan membandingkan keduanya berdasarkan penggunaan memori nyata, aplikasi ponsel, dan command pencadangan yang diperlukan masing-masing sebelum Anda menyimpan pustaka pada salah satunya.
  • Seafile menggantikan Dropbox dengan sync engine tercepat di antara ketiganya. Siapkan sekitar 1 GB RAM. Hal yang perlu diperhatikan: Seafile menyimpan berkas sebagai blok content-addressed, bukan sebagai berkas biasa di disk. Karena itu, Anda tidak dapat menjelajahi data menggunakan ls dan harus melakukan pencadangan melalui tool milik Seafile, bukan dengan menyalin folder.

Kata sandi

  • Vaultwarden menggantikan tier berbayar Bitwarden, LastPass, dan 1Password dengan server Rust berukuran kecil yang menggunakan protokol Bitwarden. Karena itu, semua aplikasi resmi Bitwarden dan ekstensi browser dapat langsung digunakan. Sediakan RAM sebesar 100–200 MB dan ruang disk yang hampir tidak ada. Risikonya, server ini menyimpan semua kata sandi Anda. Karena itu, TLS dan backup bukan pilihan tambahan, melainkan inti pengamanannya. Tetapkan ADMIN_TOKEN sebagai hash Argon2. Token plaintext dalam file compose merupakan kata sandi ke panel admin server. Panel ini menampilkan semua pengguna dan mengubah pengaturan server. Token tersebut tersimpan dalam teks biasa dan dapat dibaca oleh siapa pun yang dapat mengakses file itu. Panduan pengelola kata sandi Vaultwarden merupakan pilihan pertama terbaik untuk self-hosting.

Media

  • Jellyfin menggantikan Plex dan, untuk koleksi Anda sendiri, Netflix. Aplikasi ini sepenuhnya terbuka, tidak memerlukan akun, dan tidak mengenakan biaya untuk streaming jarak jauh. Alokasikan 1–2 GB RAM saat idle, tetapi penggunaan CPU dapat melonjak tinggi saat transcoding. Kendalanya: transcoding software untuk stream 4K dapat membebani VPS kecil hingga tidak mampu bekerja dengan baik. Sediakan hardware acceleration atau simpan file dalam format yang dapat diputar langsung oleh client Anda (Direct Play), sehingga server hanya meneruskan data. Panduan Jellyfin media server di VPS menjelaskan perbedaannya. Setelah berjalan, Halcyon mengubah koleksi yang sama menjadi toko rental era 90-an yang dapat dijelajahi di browser. Ini adalah cara paling konyol sekaligus efektif yang saya ketahui untuk membuat penghuni rumah menelusuri koleksi, bukan melewati semuanya dengan scrolling.
  • Navidrome menggantikan Spotify untuk koleksi musik Anda sendiri dan dapat melakukan streaming ke aplikasi apa pun yang kompatibel dengan Subsonic. Alokasikan 150–300 MB RAM. Aplikasi ini ditulis dalam Go dan hampir tidak membebani sistem. Kendalanya: pemindaian library pertama membaca tag setiap file dan dapat memerlukan waktu hingga satu jam untuk koleksi besar. Tag ID3 yang buruk menghasilkan pengalaman penelusuran yang buruk.
  • Audiobookshelf menggantikan Audible dan aplikasi podcast Anda serta mempertahankan posisi pemutaran di berbagai perangkat. Alokasikan 200–500 MB RAM. Kendalanya: aplikasi ini mengharuskan struktur folder yang ketat, yaitu satu folder untuk setiap buku. Folder impor yang berantakan menghasilkan library yang tidak rapi dan hanya terdeteksi sebagian, sehingga sulit diperbaiki setelahnya.

Otomatisasi dan AI

  • n8n menggantikan Zapier dan Make dengan pembuat alur kerja visual yang Anda miliki sendiri, tanpa penagihan per tugas. Sediakan RAM 400 MB–1 GB. Hal yang perlu diperhatikan: n8n mengenkripsi kredensial yang tersimpan dengan kunci yang dibuat saat pertama kali dijalankan. Jika kunci tersebut hilang, atau Anda lupa menetapkan N8N_ENCRYPTION_KEY sehingga kunci dibuat ulang, semua kredensial yang tersimpan tidak dapat dibaca dan Anda harus memasukkannya kembali. Panduan n8n self-hosted dengan HTTPS menetapkan kunci tersebut dan menempatkan sertifikat yang valid di depan URL webhook.
  • Ollama menggantikan langganan ChatGPT untuk inferensi LLM lokal dan privat. Anggarkan kebutuhan berdasarkan model: model 7–8B memerlukan sekitar 8 GB RAM, sedangkan ukuran di disk bergantung pada kuantisasi, sekitar 4 hingga 5 GB untuk unduhan 4-bit yang umum dan 13 GB atau lebih untuk build fp16 presisi penuh. Hal yang perlu diperhatikan: pada VPS yang hanya menggunakan CPU, inferensi tetap berjalan, tetapi lambat. Ukurannya adalah jumlah kata per detik, bukan respons instan seperti yang Anda dapatkan dari API terkelola. Sesuaikan ekspektasi atau sewa server GPU. Panduan menjalankan Ollama untuk self-hosting LLM memuat angka yang realistis.

Komunikasi

  • Rocket.Chat menggantikan Slack untuk tim, dengan thread, panggilan, dan integrasi. Sediakan RAM minimal 2 GB karena aplikasi ini berjalan di MongoDB, yang menjadi komponen paling berat. Hal yang perlu diperhatikan: setiap rilis mayor Rocket.Chat hanya mendukung rentang versi MongoDB yang sempit (8.x memerlukan MongoDB 8.0 atau yang lebih baru, sedangkan 7.x berjalan pada 6.0 atau 7.0), dan panduan upgrade Rocket.Chat sendiri menyarankan perpindahan antarversi mayor secara berurutan. Melewati satu versi dapat membuat database tidak dapat digunakan. Lakukan upgrade satu langkah pada satu waktu. Panduan Rocket.Chat dengan Docker Compose menjelaskan tahapan versi tersebut.
  • Matrix (Synapse) menggantikan Slack dan Discord dengan jaringan federasi yang terenkripsi end-to-end, sehingga Anda mengelola homeserver sendiri. Sediakan RAM 1–2 GB, lalu tambah kapasitasnya seiring Anda bergabung dengan room publik berukuran besar. Hal yang perlu diperhatikan: penggunaan memori Synapse meningkat tajam pada room federasi besar, dan Synapse harus berjalan pada PostgreSQL. SQLite bawaan hanya cocok untuk pengujian satu pengguna dan akan gagal ketika Anda mulai melakukan federasi. Jika Synapse terasa berat, server Conduit atau Dendrite yang lebih ringan dapat menggunakan protokol yang sama.

Jaringan dan akses

  • WireGuard menggantikan VPN komersial dan menyediakan tunnel privat ke IP Anda sendiri serta layanan lain milik Anda. Kebutuhan sumber dayanya hampir tidak ada, kurang dari 50 MB, dan kriptografinya berjalan di kernel. Kendalanya: pada virtualisasi berbasis container (OpenVZ, beberapa LXC), modul gagal dengan RTNETLINK answers: Operation not supported; gunakan KVM. Panduan VPN WireGuard yang di-host sendiri menjadi referensi. Menggabungkannya dengan layanan yang terikat pada tunnel memungkinkan Anda sepenuhnya mencegah akses layanan tersebut dari Internet publik. Jika Anda tidak ingin mengedit konfigurasi peer secara manual untuk setiap perangkat baru, menjalankan router subnet Tailscale pada VPS akan mengiklankan seluruh rentang privat tersebut ke mesin Anda yang lain. Anda hanya perlu menyetujui rute dan memastikan IP forwarding tetap aktif setelah reboot.
  • Traefik menggantikan virtual host nginx yang ditulis manual dan pembaruan sertifikat manual. Traefik menemukan container melalui label Docker dan mengambil sertifikat Let's Encrypt secara otomatis. Alokasikan sekitar 100 MB RAM. Kendalanya: model konfigurasi berbasis label memang membingungkan pada awalnya, dan satu label yang salah dapat membuat aplikasi tidak memiliki rute tanpa error yang jelas. Panduan reverse proxy Traefik untuk beberapa aplikasi Docker dibuat khusus untuk menjalankan beberapa aplikasi di halaman ini melalui satu titik masuk.
  • AdGuard Home menggantikan perangkat Pi-hole dan layanan pemfilteran DNS berbayar. AdGuard Home memblokir iklan dan pelacak untuk setiap perangkat di jaringan Anda pada lapisan DNS. Alokasikan 100–150 MB RAM. Kendalanya: AdGuard Home ingin menggunakan port 53, tetapi port tersebut bentrok dengan systemd-resolved di Ubuntu. Layanan gagal start dengan listen udp 0.0.0.0:53: bind: address already in use sampai Anda membebaskan port tersebut terlebih dahulu.

Pemantauan

  • Uptime Kuma menggantikan Pingdom, UptimeRobot, dan StatusPage dengan dasbor yang rapi serta notifikasi ke hampir semua kanal. Siapkan anggaran 150–300 MB RAM. Hal yang sering terlewat adalah Anda harus memantau server produksi dari server yang berbeda. Uptime Kuma yang berjalan pada server yang dipantaunya sendiri tidak dapat memberi tahu Anda saat server tersebut mati. Panduan pemantauan status Uptime Kuma menjelaskan penempatan eksternal.
  • Zabbix menggantikan Datadog dan rangkaian pemantauan perusahaan, dengan metrik berbasis agent, trigger, dan riwayat yang mendalam. Siapkan anggaran minimal 2 GB RAM, serta database khusus untuk Zabbix. Hal yang perlu diperhatikan: Zabbix sangat kuat dan memang cukup berat untuk disiapkan. Zabbix berlebihan untuk memantau tiga container, tetapi tepat untuk memantau banyak server. Mulailah dengan Uptime Kuma, lalu beralih ke server pemantauan Zabbix setelah Anda benar-benar memiliki infrastruktur yang perlu dipantau.

Prometheus dan Grafana sengaja tidak dicantumkan dalam daftar ini. Keduanya sangat baik untuk pemantauan infrastruktur dalam skala besar, tetapi lebih berat untuk dijalankan dan disesuaikan daripada yang dibenarkan oleh stack pribadi dengan dua atau tiga server. Pada skala ini, Uptime Kuma dan Zabbix menjawab pertanyaan yang sama dengan lebih sedikit komponen yang perlu dipelihara.

Dashboard dan panel kontrol

Komponen ini mengubah seluruh model. Alih-alih menjalankan file compose secara manual, panel mengelola aplikasi untuk Anda.

  • Cloudron menggantikan keinginan “seandainya ini cukup satu klik” dengan app store yang rapi, TLS otomatis, dan backup bawaan. Siapkan RAM minimum 2 GB; 4 GB lebih nyaman. Kekurangannya: Cloudron memiliki pendekatan yang sangat terbatas dan ingin mengelola seluruh server. Cloudron diinstal pada server Ubuntu baru dengan script cloudron-setup miliknya sendiri, bukan sebagai container. Dokumentasinya juga tidak mendukung host ARM, LXC, Docker, dan OpenVZ. Selain itu, Cloudron hanya gratis hingga dua aplikasi; setelah itu, produk ini berbayar.
  • CasaOS menggantikan dashboard homelab yang rumit dengan grid aplikasi yang mudah digunakan, gratis, dan ringan. CasaOS diinstal pada host menggunakan script (curl -fsSL https://get.casaos.io | sudo bash) miliknya sendiri, bukan sebagai container, lalu menjalankan aplikasi Anda di Docker. Siapkan sekitar 150 hingga 300 MB untuk CasaOS itu sendiri. Kekurangannya: CasaOS dirancang untuk jaringan rumah tepercaya dan tidak diperkuat untuk Internet publik. Jangan mengeksposnya secara langsung; akses melalui WireGuard.
  • Coolify menggantikan Heroku, Vercel, dan Netlify dengan deployment melalui git-push, database, dan preview pada server Anda sendiri. Siapkan RAM minimum 2 GB. Kekurangannya: Coolify adalah proyek yang lebih baru dan berkembang cepat. Karena itu, tetapkan versi dan baca catatan rilis sebelum melakukan upgrade. Perbandingan Cloudron vs CasaOS vs Coolify menjelaskan opsi yang paling sesuai untuk setiap jenis pengguna.

Alat pengembangan dan produktivitas

  • Gitea (atau Forgejo) menggantikan GitHub untuk repositori privat, issue, dan CI. Sediakan 200–500 MB RAM. Hal yang perlu diperhatikan: Forgejo adalah fork Gitea yang dikelola komunitas dan kini lebih sering direkomendasikan; keduanya sangat baik, tetapi pilih salah satu dan cadangkan repositori serta database secara bersamaan, karena cadangan repositori tanpa database akan menghilangkan semua issue dan pull request.
  • Paperless-ngx menggantikan lemari arsip dan pemindai dokumen berbayar. Aplikasi ini menjalankan OCR pada semua dokumen agar dapat dicari. Sediakan sekitar 1 GB RAM, dengan lonjakan penggunaan CPU selama OCR. Hal yang perlu diperhatikan: kualitas hasil OCR bergantung pada kualitas pemindaian, dan pemrosesan ulang arsip besar membutuhkan waktu lama. Lakukan penyesuaian sebelum mengimpor dokumen selama sepuluh tahun sekaligus.
  • Actual Budget menggantikan YNAB dan Mint yang sudah dihentikan, dengan penganggaran berbasis amplop yang cepat, lokal, dan privat. Sediakan sekitar 150 MB RAM. Hal yang perlu diperhatikan: sinkronisasi bank otomatis tersedia, tetapi bersifat opsional. Fitur ini hanya berfungsi setelah Anda mendaftar pada penyedia regional seperti SimpleFIN Bridge atau Enable Banking dan menambahkan kredensial API sendiri. Jadi, secara default, transaksi harus diimpor secara manual.
  • FreshRSS menggantikan Feedly dan Google Reader yang sudah tidak tersedia, dengan pembaca feed yang cepat dan privat serta aplikasi seluler. Sediakan sekitar 150 MB RAM. Hal yang perlu diperhatikan: konfigurasikan pembaruan feed berbasis cron. Jika tidak, feed hanya diperbarui saat Anda membuka halaman.
  • BookStack menggantikan Notion dan Confluence untuk dokumentasi yang diatur dalam bentuk rak, buku, dan halaman. Sediakan sekitar 500 MB RAM pada PHP dan MySQL. Hal yang perlu diperhatikan: aplikasi ini menyusun konten dengan caranya sendiri, bukan sebagai catatan bebas. Sebagian orang menyukainya, sementara sebagian lainnya menganggapnya kaku. Uji terlebih dahulu sebelum memindahkan seluruh wiki Anda.
  • Home Assistant menggantikan SmartThings dan berbagai aplikasi vendor dengan menyatukan perangkat smart home secara lokal. Sediakan sekitar 1 GB RAM. Hal yang perlu diperhatikan: sebagian besar fiturnya memerlukan akses jaringan lokal ke perangkat Anda. Karena itu, aplikasi ini lebih sesuai dijalankan pada perangkat keras di rumah daripada pada VPS jarak jauh. Jika perlu, jalankan dashboard dari jarak jauh dan buat bridge ke jaringan rumah.

Instalasi sebagai contoh

Agar lebih konkret, berikut gambaran lengkap self-host: file compose, sertifikat yang valid, dan backup. Ini adalah Uptime Kuma, tetapi setiap aplikasi dalam daftar tersebut mengikuti pola yang sama.

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    volumes:
      - ./data:/app/data
    ports:
      - "127.0.0.1:3001:3001"
    restart: unless-stopped
docker compose up -d
docker compose logs -f

Perhatikan 127.0.0.1:. Aplikasi hanya listen pada localhost, dan reverse proxy seperti Traefik atau nginx melakukan TLS termination di depannya. Binding langsung ke 0.0.0.0:3001 dapat menyebabkan panel admin tanpa enkripsi terekspos ke seluruh Internet.

Hal yang BELUM sebaiknya di-self-host

  • Email. Ini bagian yang harus disampaikan apa adanya. Port outbound 25 diblokir oleh sebagian besar provider VPS. Anda akan melihat Connection timed out dari telnet aspmx.l.google.com 25, dan tidak ada yang dapat diperbaiki dari sisi Anda karena itu merupakan kebijakan provider. Beberapa provider akan membuka pembatasan tersebut jika Anda memintanya. AWS, misalnya, memungkinkan Anda mengajukan permintaan untuk menghapus pembatasan itu. Namun, ini tetap berupa permintaan, bukan sakelar yang dapat langsung diaktifkan. Meskipun port 25 terbuka, IP baru tanpa reputasi, record PTR, SPF, DKIM, dan DMARC akan membuat email Anda masuk ke spam atau langsung ditolak. Mengelola email merupakan pekerjaan nyata yang harus dilakukan terus-menerus, bukan pekerjaan akhir pekan. Jika Anda tetap ingin melakukannya, pelajari panduan email yang di-self-host dengan Mailcow dengan memahami risikonya, dan bersiaplah memantau deliverability selama berbulan-bulan.
  • Apa pun yang tidak dapat Anda backup dan restore secara andal. Jika Anda belum pernah melakukan test restore, berarti Anda belum memiliki backup, melainkan hanya harapan. Jangan menyimpan data yang tidak dapat digantikan, satu-satunya salinan foto, atau akun Anda pada sebuah service sebelum proses restore-nya terbukti berhasil.
  • Satu-satunya salinan dependency penting. DNS server yang di-self-host dan ketika crash menyebabkan seluruh jaringan Anda kehilangan akses Internet merupakan proyek pertama yang buruk. Sediakan fallback upstream.
  • Sistem keselamatan real-time. Alarm rumah, peringatan medis, dan sistem apa pun yang mengalami masalah nyata jika downtime berlangsung selama lima menit tidak seharusnya dijalankan pada mesin hobi yang Anda upgrade pada Minggu malam.

Cara memilih aplikasi pertama dan dua hal yang tidak dapat ditawar

Pilih aplikasi yang menghapus tagihan yang ingin Anda hentikan atau mengatasi kekhawatiran privasi yang benar-benar Anda rasakan. Dalam praktiknya, pilihan pertama terbaik adalah Vaultwarden dan Uptime Kuma: keduanya ringan, langsung berguna, dan tetap mudah ditangani jika Anda melakukan kesalahan. Pastikan satu aplikasi berfungsi sepenuhnya, mulai dari instalasi, sertifikat, pencadangan, hingga pengujian pemulihan, sebelum menambahkan aplikasi kedua. Keterampilan yang Anda bangun adalah operasional, bukan sekadar mengeklik tombol instalasi.

Ada dua hal yang tidak dapat ditawar pada setiap aplikasi di atas, tanpa pengecualian:

  1. TLS untuk semua layanan publik. Layanan plaintext yang hanya menggunakan alamat IP adalah demo, bukan deployment. Pasang sertifikat yang valid di depannya menggunakan Certbot dan Let's Encrypt pada nginx, atau biarkan Traefik melakukannya secara otomatis. Kemudian perkuat akses masuk dengan Fail2ban untuk SSH pada Ubuntu 24.04.
  2. Pencadangan yang benar-benar telah Anda pulihkan. Otomatiskan dump setiap malam, termasuk database dan volume data secara bersamaan, kirimkan ke luar server, lalu sebulan sekali pulihkan ke VPS sementara untuk memastikan pencadangan tersebut berfungsi. Saat disk Anda rusak adalah waktu yang salah untuk mengetahui bahwa cadangan itu kosong.

Jika kedua hal tersebut dilakukan dengan benar, self-hosting menjadi menyenangkan. Jika diabaikan, waktunya hanya tinggal menunggu.

Pilihan yang tersedia beragam, dari yang praktis hingga yang absurd, mulai dari server Minecraft pada VPS untuk keluarga hingga, jika Anda menyukai kisah peringatan, datacenter paling tidak efisien di dunia.

FAQ

Apa yang sebaiknya saya self-host terlebih dahulu?

Vaultwarden. Password manager memberi manfaat setiap hari, menggantikan layanan berlangganan, dan memaksa Anda mempelajari seluruh alur kerja, Docker, reverse proxy, TLS, serta backup. Aplikasi ini cukup kecil sehingga dapat dibangun ulang dalam sepuluh menit jika terjadi kesalahan. Uptime Kuma adalah pilihan kedua yang baik agar Anda mengetahui gangguan sebelum pengguna mengetahuinya.

Seberapa besar VPS yang sebenarnya saya perlukan?

Untuk satu aplikasi kecil, RAM 1 GB sudah cukup. Untuk server yang nyaman digunakan untuk "menjalankan beberapa layanan", targetkan 4 GB. Kapasitas 2 GB adalah batas tengah ketika orang mulai mengalami penghentian container secara diam-diam karena kehabisan memori dan tidak mengetahui penyebabnya. RAM hampir selalu menjadi batas utama. Tambahkan disk sesuai data yang akan disimpan. Immich, Ollama, dan aplikasi apa pun dengan database besar biasanya membutuhkan kapasitas RAM dan disk paling besar.

Apa yang sebaiknya tidak saya self-host?

Email, terutama email keluar. Sebagian besar provider memblokir port 25, dan memastikan email terkirim ke penerima merupakan pekerjaan yang terus-menerus. Setelah itu, hindari layanan yang tidak dapat Anda backup dan pulihkan secara andal, serta setiap titik kegagalan tunggal yang downtime-nya menimbulkan kerugian nyata, seperti server DNS tanpa fallback atau sistem keselamatan rumah. Layanan lain dalam daftar ini layak dipertimbangkan.

Apakah saya memerlukan Docker untuk semua ini?

Tidak, tetapi Docker sebaiknya digunakan. Setiap aplikasi di sini, kecuali Cloudron dan CasaOS, memiliki Docker image. Kedua aplikasi tersebut diinstal langsung pada host dengan setup script masing-masing, lalu menjalankan aplikasinya dalam container untuk Anda. Untuk aplikasi lainnya, Docker menyediakan instalasi dan penghapusan yang bersih, pemilihan versi yang mudah, serta portabilitas ke host baru. Beberapa aplikasi, seperti WireGuard dan Zabbix, juga dapat diinstal secara native dari apt jika Anda menginginkannya. Setelah memahami satu file compose, Anda akan memahami semuanya. Karena itu, seluruh daftar ini menjadi lebih mudah dikelola.

Bagaimana cara menjaga semua layanan tetap aman?

Empat kebiasaan mencakup sebagian besar kebutuhan: gunakan TLS di depan semua layanan, amankan SSH dengan login hanya menggunakan key dan Fail2ban yang memblokir upaya brute-force, publikasikan hanya port yang benar-benar diperlukan dan akses layanan lainnya melalui VPN WireGuard, lalu lakukan update secara berkala sambil membaca release notes agar upgrade tidak menimbulkan kejutan. Backup adalah kebiasaan kelima. Backup digunakan untuk pemulihan ketika kesalahan tidak terdeteksi oleh empat langkah pertama.