9 poin oleh GN⁺ 2024-09-19 | 1 komentar | Bagikan ke WhatsApp
  • Di tahun 2024 saat layanan cloud dan berbasis langganan sudah menjadi hal umum, self-hosting yang berpusat pada software layak dicoba lagi sebagai hobi sambil belajar dengan menyiapkan sistem sendiri
  • Self-hosting bisa menjadi bentuk perlawanan terhadap layanan proprietari, tetapi karena biaya waktu dan mentalnya besar, motivasi terpenting adalah kesenangan dan eksplorasi
  • Pemula pun bisa memulai tanpa server fisik; lewat shared hosting seperti Uberspace, pengguna dapat terhubung via SSH dan memakai lingkungan dengan penyimpanan 10GB serta RAM 1.5GB
  • Di Uberspace, Docker tidak bisa digunakan, tetapi dengan merujuk ke Uberspace Labs dan Awesome-Selfhosted, Anda tetap bisa menjalankan layanan seperti Actual Budget dan Miniflux
  • Dengan menghubungkan domain pribadi, Anda bisa menyiapkan subdomain per layanan, alamat email kustom, dan hosting file publik agar hasil self-hosting lebih mudah ditunjukkan dan dipelihara

Nuansa komputasi personal sebelum cloud

  • Pada tahun 2000-an, software dan game didistribusikan lewat DVD, dan komputer pribadi sangat terasa sebagai perangkat komputasi yang dikendalikan langsung oleh penggunanya
  • Pada 2010-an, Chromebook dan layanan cloud makin meluas, sehingga banyak software berpindah ke model yang berjalan di komputer milik orang lain
  • Setelah iklan, langganan menjadi cara utama monetisasi online, dan arus penyerahan kendali oleh pengguna demi kenyamanan pun makin kuat
  • Akibatnya, sebagian generasi yang belajar ilmu komputer jadi memiliki lebih sedikit kesempatan untuk memulai sebagai penggemar komputer, dan sikap ala peretas di masa awal juga mulai memudar

Mendekati self-hosting sebagai hobi

  • Self-hosting bisa menjadi tindakan untuk merebut kembali kendali atas diri digital di lingkungan yang didominasi monopoli
  • Jika dilihat murni dari sisi praktis, hosting yang diserahkan ke pihak lain bisa jadi pilihan yang lebih baik
    • Stabilitas, konkurensi, redundansi, dan pengelolaan ketersediaan bisa diserahkan kepada penyedia layanan
    • Penghematan biaya bisa dibayar dengan beban waktu dan mental yang lebih besar
  • Secara intelektual, ini lebih mirip garasi digital yang terus disetel dan diutak-atik
    • Setelah hari kerja selesai, ini bisa menjadi hobi mengutak-atik sistem yang terasa seperti mainan favorit sendiri
  • Alih-alih terlalu ketat mendefinisikan standar “self-hosting sungguhan”, yang penting adalah mulai dengan gembira, meski baru di level software

Membangun lingkungan pertama dengan shared hosting

  • Untuk memulai self-hosting, pertama-tama Anda memerlukan tempat untuk melakukan hosting
  • Uberspace disebut sebagai hosting yang direkomendasikan
    • Pendekatannya kira-kira seperti, “kami beri Anda kunci mobilnya, asal jangan bakar gedungnya dan silakan bersenang-senang”
    • Model pembayarannya pascabayar di akhir bulan, jadi bulan pertama pada dasarnya bisa terasa seperti masa uji coba gratis
  • Setelah membuat akun, Anda bisa terhubung via SSH ke komputer yang tersambung ke internet
    • Lingkungan yang disediakan adalah penyimpanan 10GB dan RAM 1.5GB
    • Saat menjalankan ls, Anda bisa melihat direktori pengguna baru yang masih kosong

Cara memilih software yang akan dipasang

  • Saat mencari software untuk digunakan di Uberspace, dua sumber ini sangat berguna
    • Uberspace Labs: panduan khusus yang membahas cara memasang berbagai software di Uberspace
    • Awesome-Selfhosted: daftar luas software yang bisa di-self-host, cocok untuk mencari proyek yang punya komunitas sampai tingkat tertentu
  • Di Uberspace, Docker tidak bisa digunakan
    • Karena keterbatasan memori, sulit menjalankan seluruh suite virtualisasi
    • Ini memang kurang nyaman untuk software besar atau instalasi yang khusus Docker, tetapi masih ada cara memutar seperti memasang dari source atau mengambil runtime akhir dari proses Dockerisasi layaknya build image

Contoh 1: Mengelola data keuangan sendiri dengan Actual Budget

  • Actual Budget adalah aplikasi pengelolaan keuangan yang cepat dan berfokus pada privasi
  • Cocok bagi pengguna yang ingin melacak pengeluaran, kekayaan bersih, pola konsumsi, dan sebagainya
  • Informasi keuangan yang sensitif tidak perlu dititipkan ke layanan lain, dan aplikasi bisa dijalankan agar dapat diakses dari mana saja lewat browser
  • Di pusat metode penganggarannya ada metodologi Envelope Budgeting
  • Panduan instalasi Uberspace bisa dilihat di guide_actual
  • Di bagian laporan, Anda bisa memotong dan menganalisis data keuangan dari berbagai sudut
    • Item yang terasa seperti pembelian kecil pun bisa menjadi besar jika dijumlahkan selama sebulan
    • Anda bisa mendapatkan insight seperti biaya komuter ternyata lebih besar dari perkiraan

Contoh 2: Merebut kembali feed dengan Miniflux dan RSS

  • Miniflux adalah feed reader yang minimalis dan punya pendirian yang jelas
  • Dengan RSS, Anda bisa memeriksa kabar dari media berita, majalah, dan pembaruan tulisan blog favorit di satu tempat
  • Kanal langganan YouTube pun bisa disusun seperti timeline feed khusus tanpa iklan
    • YouTube menyediakan feed RSS
    • Pemutar YouTube yang di-embed tidak memiliki iklan
  • Setelah memasang Miniflux di Uberspace, Anda bisa menambahkan feed kanal YouTube favorit
  • Jika Fever API diaktifkan di pengaturan, klien RSS yang bisa membaca Fever API dapat mengakses agregator RSS di cloud
    • Di ekosistem Apple, Unread dari Golden Hill Software direkomendasikan
  • Anda juga bisa memisahkan kategori feed untuk berita dan webcomic

Membuat ruang pamer dengan domain pribadi

  • Salah satu kesenangan self-hosting adalah memamerkan apa yang Anda buat sendiri
  • Domain pribadi berfungsi sebagai ruang online milik Anda sendiri
  • Porkbun direkomendasikan sebagai layanan pendaftaran domain
  • Jika Anda memiliki domain seperti awesauce.com, banyak konfigurasi yang dimungkinkan
    • Anda bisa menghubungkan layanan yang di-host di Uberspace ke subdomain seperti actual.awesauce.com dan miniflux.awesauce.com
    • Jika penyedia email mendukung domain kustom, Anda bisa membuat alamat seperti contact@awesauce.com
      • Bahkan jika nanti mengganti penyedia layanan email, alamatnya tetap bisa dipertahankan
      • Email dengan domain kustom bisa saja berbayar
    • Anda bisa menghubungkan subdomain atau path URL ke repositori GitHub untuk menyajikan file publik seperti CV di awesauce.com/files/resume.pdf

Eksplorasi berikutnya yang sengaja dibiarkan terbuka

  • Tujuan tulisan ini bukan tutorial langkah demi langkah yang rinci, melainkan menumbuhkan rasa ingin mencoba dan mengutak-atik sendiri
  • Sebagai tugas eksplorasi bagi pembaca, masih tersisa cara mengirim notifikasi seluler saat produk tertentu kembali tersedia atau ketika sebuah situs web berubah
  • Diskusi Hacker News terkait berlanjut di thread ini

1 komentar

 
GN⁺ 2024-09-19
Komentar Hacker News
  • Dari sudut pandang lama, cukup mengejutkan bahwa membayar biaya shared hosting sekarang disebut “self-hosting”. Bukan berarti itu buruk, tapi 10 tahun lalu rasanya itu sama sekali tidak akan disebut self-hosting
    Mirip seperti makna “memasak dari nol” yang berubah. Kalau buku masak abad ke-19, mungkin daftar bahannya akan menulis “1 ekor babi” lalu menyuruh Anda menyembelihnya, tetapi sekarang tentu maksudnya membeli potongan daging babi yang sudah dikemas di baki styrofoam

    • Istilahnya sendiri juga bermasalah. Komunitas self-hosting cukup teknis, berpusat di /r/selfhosted, dan lebih dekat ke orang-orang yang menikmati utak-atik komputer. Rasanya seperti orang yang merakit kit car
      Namun, ada juga pasar besar yang bisa menikmati manfaat self-hosting tanpa perlu memahami semua detailnya. Misalnya, jika memakai layanan terkelola dengan domain sendiri, Anda tetap bisa mendapatkan cukup banyak keuntungan seperti kepemilikan data, perangkat lunak open source, dan persaingan antarpenyedia. Jadi sepertinya perlu istilah yang lebih luas, dan belakangan saya memakai ungkapan indie hosting
    • Jika memakai penyedia hosting, pasti banyak orang yang akan bilang itu bukan self-hosting, meskipun Anda sendiri yang men-deploy perangkat lunaknya
      Pengecualian yang umumnya diterima ada di sisi perlindungan jaringan. Kalau bisa, orang tidak ingin mengekspos alamat IP rumah mereka ke luar, jadi banyak yang memakai Tailscale, Cloudflare Tunnel, atau VPS sebagai proxy
    • Sepertinya saya juga mulai jadi orang lama. Saya cenderung menganggap hanya yang berjalan di hardware saya sendiri sebagai self-hosting sungguhan
      Kalau itu pun masih kurang, di freezer saya juga ada daging babi dan bacon rumahan yang berasal dari babi yang saya ternakkan dan olah sendiri. Ungkapan “jiwa tua yang hidup di dunia baru” cukup pas
    • Hosting dari rumah sejak dulu memang bisa terbentur batasan syarat layanan dari penyedia internet rumahan. Saat saya pertama kali melakukan self-hosting pun, saya membayar untuk memasang sistem saya di rak milik orang lain dan memakai jaringan mereka
      Entah hardwarenya disewa, servernya dirakit sendiri, atau memakai mesin virtual yang disediakan penyedia, beban kerja pemeliharaannya kurang lebih sama. Meski begitu, ini tetap berbeda dari memakai Wix/Squarespace, Geocities, atau platform media sosial
    • Penulis aslinya juga tampaknya sampai batas tertentu sepemikiran
      Soalnya dia bilang, “Jadi, ini bukan ‘self-hosting sungguhan’, tapi tetap saja saya menulis pengantar ringan ke self-hosting. Silakan tuntut saya.” :)
  • Saya sangat menyukai self-hosting, dan dalam beberapa bulan terakhir saya benar-benar mendalaminya. Sekarang saya menjalankan beberapa layanan untuk perusahaan dan homelab, lalu melakukan deployment ke Hetzner VPS dengan file Ansible + Docker Compose atau https://github.com/coollabsio/coolify/
    Repositori awesome-selfhosted juga bagus untuk mencari proyek yang bisa di-self-host, tetapi karena fitur kemudahan pakainya kurang, saya membuat direktori di https://selfhostedworld.com dengan sedikit peningkatan pengalaman pengguna. Ada pencarian, filter jumlah bintang/popularitas/tanggal, dan mode gelap

    • Anda tampaknya paham topik ini, jadi saya ingin bertanya. Bagi seseorang yang tidak terlalu akrab dengan jaringan tetapi punya pengetahuan teknis secukupnya, seberapa berisiko mengekspos komputer di jaringannya sendiri ke internet?
      Dengan alat modern dan mesin virtual, apakah ini relatif aman, atau tetap perlu terus diawasi seperti memeriksa pembaruan perangkat lunak setiap minggu? Saya sudah lama ingin menyiapkan server, dan sekarang saya punya laptop cadangan, jadi setidaknya saya berpikir untuk menjalankan NAS
    • Apakah SaaS saya juga bisa dimasukkan ke bagian “alternatif Heroku”?
      https://ptah.sh
    • Cukup bagus. Saya melihat sish dan inlets, tetapi ada daftar yang mengumpulkan jauh lebih banyak alat serupa di sini: https://github.com/anderspitman/awesome-tunneling
      Untuk sisi autentikasi, saya juga membuat perbandingan server OIDC: https://github.com/lastlogin-net/obligator#comparison-is-the...
    • Apakah ada nama untuk jenis perangkat lunak yang menyediakan control plane bagi server-server lain seperti Coolify? Maksud saya jenis yang berlawanan dengan pendekatan seperti Dokku, yang langsung berjalan di server tersebut sendiri
  • Ada ungkapan, “sebanyak uang yang dihemat, sebanyak itu pula waktu dan kesehatan mental yang hilang, jadi secara praktis itu bodoh,” dan di komunitas self-hosting, Kubernetes memang sering dipandang kurang baik. Tapi karena self-hosting pada dasarnya memang punya sisi seperti itu, tidak ada salahnya sekalian jalan sampai mentok.
    Saya menjalankan k3s multi-master di atas NixOS pada 3 unit Dell R720XD. Untuk storage saya memakai rook/ceph, dan ada sekitar 12 hard disk dengan ukuran yang berbeda-beda. Atraksi pesta favorit saya adalah mencabut sembarang hard disk dari cluster saat video sedang di-streaming, dan sistem sama sekali tidak peduli. Begitu dipasang lagi, semuanya kembali seperti tidak terjadi apa-apa, dan ruang pun masih banyak tersisa jadi saya masih mencari hal-hal berguna lain untuk di-host

    • Banyak orang memakai k8s atau k3s untuk self-hosting. Hanya saja, bagi kebanyakan orang, hasil yang didapat tidak sebanding dengan kompleksitas tambahannya. Perlu juga diingat bahwa kebanyakan kasus hanya memakai satu node, jadi semua kebutuhan sebenarnya bisa ditangani Docker saja
      Secara pribadi, meski hanya punya konfigurasi 4 desktop kecil, saya tetap memakai Docker Swarm. Dengan hardware seperti itu, tagihan listrik rasanya bisa dengan mudah mencapai 200 dolar per bulan. Docker Swarm memang tua dan tidak populer, tetapi hanya sedikit lebih rumit daripada Docker murni, dan untuk deployment multi-node serta orkestrasi, semua yang dibutuhkan sudah ada
    • Saya memakai NixOS sebagai mesin virtual, dan layanan dijalankan langsung sebagai container. Saya juga membuat alat yang memudahkan menjalankan proyek Docker Compose di NixOS [1]
      Dengan cara ini, saya mendapat keuntungan dari konfigurasi NixOS sambil tetap bisa menjalankan aplikasi arbitrer yang mungkin tidak ada di nixpkgs. Untuk storage saya memakai ZFS di hypervisor Proxmox, lalu mengeksporkannya secara lokal lewat NFS
      [1] https://github.com/aksiksi/compose2nix
    • Di homelab, k8s itu berlebihan. Tapi alasan tetap melakukannya adalah karena self-hosting itu perbandingannya 1 bagian kepraktisan dan 2 bagian pembelajaran
  • Teks aslinya menyoroti bagian ini dengan tepat: “Ini tahun 2024, sudah saatnya kita kembali pada kesenangan mendasar dalam menyiapkan sistem kita sendiri.”
    Self-hosting memang sangat menyenangkan. Karena di dalamnya ada campuran belajar, tantangan, dan kepraktisan. +1 untuk Actual Budget dan Changedetection.io. Tapi -1 karena tidak membahas threat modeling dan keamanan. Penulis aslinya memakai HTTPS, tetapi situs webnya dibuka ke internet publik. Orang yang baru mulai sebaiknya meng-host hanya untuk LAN atau menguncinya dengan sangat ketat. Memang, di shared hosting hal ini bisa merepotkan jika tidak ada pembatasan IP atau tunneling, dan saya tidak tahu apakah uberspace menyediakan itu. Untuk orang yang sudah melewati tahap awal, saya menyarankan sesuatu seperti Docker agar bisa menjalankan lebih banyak aplikasi berdampingan. Dependensi yang dibundel itu luar biasa. Sedikit promosi buku saya yang juga membahas pendekatan Docker: https://selfhostbook.com

  • Saya setuju dengan orang-orang lama lainnya
    Kalau bukan hardware milik sendiri yang berjalan di ruang yang dimiliki atau disewa, itu bukan self-hosting. Sekarang saya hanya memakai satu kotak Micro-ITX kecil, tetapi dulu saya bahkan punya rack server yang proper, berisi server 6U, UPS, dan peralatan jaringan. Itu sebelum menikah

  • Saya sangat suka self-hosting. Saya belajar banyak sambil mengerjakan proyek hobi kecil
    Buat yang penasaran dengan setup saya, saya membeli Dell R630 bekas murah di eBay. Konfigurasinya SSD 1TB RAID 1, RAM 32GB, dan 32 core, lalu saya menjalankan aplikasi hobi kecil dengan Docker, virsh, dan minikube sambil bersenang-senang. Saya mempelajari ketiganya. Saya punya koneksi fiber 1Gbps, dan setiap 1 menit ada pekerjaan cron yang mendeteksi apakah IP berubah, lalu mengganti DNS A record lewat API Linode

  • RAM 1.5GB, disk 10GB? VPS cloud dasar Hetzner menawarkan RAM 4GB dan disk 40GB seharga 4,51 euro

    • Setahu saya, sulit mengalahkan Oracle Cloud: https://www.oracle.com/cloud/costestimator.html
      Untuk compute, tertulis “untuk setiap tenancy, tersedia gratis 3.000 OCPU-hours pertama dan 18.000 GB-hours per bulan agar Anda dapat membuat instance Ampere A1 Compute. Penggunaan tingkat gratis ini dibagi di seluruh bare metal, virtual machine, dan container instance.” Untuk block storage, tertulis “jatah free tier layanan Block Volume adalah total 200GB untuk seluruh tenancy. Jika ada beberapa estimasi dalam tenancy yang sama, total yang berlaku tetap 200GB.” Jadi pada dasarnya Anda mendapat CPU ARM 4 core + RAM 24GB + ruang 200GB secara gratis
    • Apakah Anda juga melihat perbedaan harga yang potensial?
  • Sedikit spoiler: tulisan ini bukan tentang self-hosting, melainkan tentang shared hosting

  • Tapi kalau ada yang berbisik K8S di telinga seseorang...

    • Ngomong-ngomong, sepertinya saya harus pergi memberi CRD yang sudah diperbarui ke cluster K3S homelab saya untuk menyiapkan jendela upgrade berikutnya
  • Setelah lulus dari panduan ini, ada baiknya juga melihat /r/homelab dan /r/homedatacenter ;)