23 poin oleh GN⁺ 2025-12-06 | 1 komentar | Bagikan ke WhatsApp
  • Uncloud adalah alat open-source yang memungkinkan Anda menerapkan dan menskalakan aplikasi web yang dikontainerisasi di beberapa server tanpa Kubernetes
  • Tetap mempertahankan workflow berbasis Docker Compose, sambil mendukung deployment tanpa downtime, HTTPS otomatis, dan scaling antar server
  • Tanpa control plane terpusat, tiap mesin terhubung melalui jaringan P2P berbasis WireGuard, sehingga operasional cluster tetap berjalan meski sebagian server offline
  • Menyertakan HTTPS otomatis melalui reverse proxy Caddy, service discovery berbasis DNS bawaan, dan fitur load balancing
  • Dapat diterapkan dengan cara yang sama bahkan di lingkungan hybrid cloud dan on-premise, sehingga kontrol atas infrastruktur dan prediktabilitas biaya tetap terjaga

Workflow mirip PaaS

  • Memberikan pengalaman deployment sederhana seperti Heroku atau Fly.io, sambil tetap mempertahankan kontrol penuh atas server dan data
    • Struktur biaya yang dapat diprediksi, bukan penagihan per permintaan
    • Tanpa vendor lock-in, dan debugging bisa dilakukan dengan alat SSH standar
  • Dengan struktur yang ramah Docker Compose, build, push, dan deploy dapat dilakukan dengan satu perintah
    • Tidak memerlukan image registry, serta mendukung rolling deployment tanpa downtime
    • Mendukung scaling replikasi di beberapa mesin
    Iklan

Desain dengan perawatan rendah

  • Tidak memerlukan control plane atau pengelolaan quorum, sehingga kompleksitas administrasi diminimalkan
  • Mendukung komunikasi aman antar mesin tanpa membuka port
  • Dilengkapi service discovery otomatis dan penerbitan HTTPS otomatis berbasis Let's Encrypt

Cara kerjanya

  • Dibangun sebagai jaringan mesin yang sederhana alih-alih cluster yang kompleks, memberikan infrastruktur yang stabil tanpa beban pemeliharaan tinggi
  • Tiap mesin berpartisipasi dalam jaringan mesh WireGuard untuk melakukan peer discovery otomatis dan NAT traversal
    • Kontainer mendapatkan IP unik sehingga dapat berkomunikasi langsung antar server
  • Dengan arsitektur sepenuhnya terdistribusi, tiap mesin menyinkronkan status cluster tanpa node kontrol terpusat
    • Operasional cluster tetap berlanjut meski sebagian mesin offline
    Iklan
  • Mengendalikan seluruh infrastruktur dengan CLI mirip Docker
    • Deployment, monitoring, dan scaling dapat dilakukan hanya dengan akses SSH ke satu mesin

Fitur utama

  • Dapat diterapkan di mana saja: mendukung semua mesin Linux seperti VM cloud, server dedicated, dan on-premise
  • HTTPS otomatis: penerbitan sertifikat TLS tanpa konfigurasi dan aktivasi HTTPS melalui reverse proxy Caddy bawaan
  • Load balancing: mendistribusikan trafik di antara replika kontainer yang tersebar di beberapa mesin
  • Service discovery: DNS bawaan secara otomatis melacak lokasi layanan di dalam jaringan
  • Infrastructure as Code: seluruh stack aplikasi dapat didefinisikan menggunakan file Docker Compose yang sudah ada
  • Tanpa vendor lock-in: bebas menggabungkan cloud dan perangkat keras sendiri

1 komentar

 
GN⁺ 2025-12-06
Opini Hacker News
  • Halo, saya pembuatnya. Terima kasih sudah membagikannya.
    Uncloud adalah orkestrator kontainer tanpa control plane. Sederhananya, ini seperti Docker Compose lintas beberapa mesin yang dilengkapi mesh WireGuard otomatis, service discovery, dan HTTPS melalui Caddy. Setiap mesin melakukan sinkronisasi p2p status klaster menggunakan Corrosion dari Fly.io, sehingga tidak perlu menjaga quorum.
    Setelah mengoperasikan Kubernetes baik di startup maupun perusahaan unicorn, saya menyadari bahwa kebanyakan tim sebenarnya hanya butuh menjalankan kontainer dengan baik di beberapa mesin, plus networking, rollout, dan HTTPS. Dibanding kebutuhan itu, overhead operasional K8s terlalu besar.
    Fitur utamanya sebagai berikut

    • Menggunakan spesifikasi Docker Compose yang sudah familier, jadi tidak perlu mempelajari DSL baru
    • Build dan push image Docker langsung ke mesin tanpa registry eksternal (menggunakan proyek saya yang lain, unregistry)
    • Menyediakan CLI imperatif, bukan deklaratif, sehingga lebih mudah untuk debugging
    • Bisa menghubungkan cloud VM, bare metal, sampai Raspberry Pi di balik NAT
    • Penggunaan memori di bawah 150MB
      Tautan proyek: https://github.com/psviderski/uncloud
      • K8s sudah cukup baik untuk menjalankan kontainer bahkan di lingkungan kecil, jadi saya rasa tidak ada alasan kuat untuk memakai yang lain. Deployment ringan seperti k3s juga makin mudah, jadi saya tidak merasa butuh alternatif.
      • Idenya keren, tetapi fakta bahwa uc machine init secara internal menjalankan curl | bash dengan hak root terlihat berisiko secara keamanan. Saya ingin mencobanya untuk testing, tetapi sepertinya tidak akan menjalankannya di mesin sungguhan.
      • Sangat menarik. Sepertinya saya akan punya kesempatan mencobanya segera. Namun bahkan setelah membaca dokumentasinya, belum jelas bagaimana cara onboarding engineer lain setelah klaster disiapkan, atau bagaimana deployment dilakukan dari runner CI/CD. Saya penasaran dengan prosedur untuk menghubungkan mesin baru ke klaster yang sudah ada.
      • Saya penasaran apa bedanya dengan Kamal.
      • Saya penasaran bagaimana melakukan koneksi aman ke layanan eksternal seperti AWS RDS dari dalam jaringan privat berbasis WireGuard. Ingin tahu apakah ini didukung seperti pendekatan akses AWS RDS milik Tailscale.
  • Saya menghabiskan sebagian besar karier saya dengan Kubernetes, jadi saya penasaran apa keuntungan struktur tanpa control plane. Bagi saya, control plane justru adalah fitur inti K8s.
    Ratusan node dan sekitar puluhan ribu kontainer tidak terlalu membebani karena klaster terkelola bisa diperbarui otomatis. Saya penasaran apakah penderitaan orang-orang saat self-hosting K8s sendiri menjadi latar belakang munculnya alternatif seperti ini.

    • “Ratusan node, sepuluh ribu kontainer” tidak terasa kecil bagi saya. Skala saya hanya 2–5 node dan 10–30 kontainer, dan untuk ukuran seperti ini K8s terlalu berat. Saya rasa ada banyak perusahaan kecil dengan kondisi serupa.
    • Ini bukan pertanyaan yang kasar. Keuntungan tanpa control plane adalah semua mesin menjadi struktur peer yang setara dan lebih sederhana. Karena tidak ada “otak klaster” yang tersentralisasi, tidak perlu khawatir soal konfigurasi HA atau masalah quorum etcd.
      Bahkan jika jaringan terbelah, tiap partisi tetap bisa berjalan mandiri. Ini seperti kesederhanaan era Chef atau Ansible yang dipadukan dengan pelajaran dari K8s.
    • Tentu saja ada orang yang mencoba self-hosting K8s. Seperti backup, kalau tidak dicoba sebelumnya, saat dibutuhkan nanti justru tidak bisa.
    • Dari sudut pandang UKM, sepuluh ribu kontainer jelas bukan skala kecil. Saya punya kurang dari 10 kontainer, tetapi tetap butuh high availability (HA). Uncloud tampaknya sangat cocok untuk situasi saya.
    • “Sepuluh ribu kontainer itu kecil? Bukannya itu angka job CI? ;)”
  • Proyeknya keren. Saya pasti akan mencobanya nanti.
    Kalau mencari alternatif yang lebih sederhana, Kamal juga bagus. Ini adalah tool yang benar-benar dijalankan sendiri oleh perusahaan yang sepenuhnya keluar dari K8s dan cloud, dan sudah terbukti di produksi.

  • Saya penasaran apakah ada fitur yang otomatis melakukan server hardening setelah server ditentukan.

  • Saya pengguna Docker Swarm. Uncloud adalah alternatif pertama yang benar-benar terasa menarik bagi saya.
    Hal yang saya penasaran adalah sebagai berikut

    • apakah ada rencana dukungan secrets
    • apakah aturan rewrite URL bisa didefinisikan lewat label kontainer seperti pada Swarm+Traefik
    • jika dua stack Compose dideploy, apakah kontainer dari stack yang berbeda bisa saling mengakses lewat jaringan
    • Pemetaan domain dan port internal didefinisikan di file Compose sebagai x-ports: app.example.com:8000/https.
      Atau Anda bisa mengustomisasi konfigurasi Caddy dengan x-caddy: Caddyfile. Lihat dokumentasi resmi untuk detailnya.
      Saat ini belum ada fitur isolasi jaringan antar-stack. Diskusi terkait sedang berlangsung di GitHub Discussion #94.
      Saya penasaran perilaku seperti apa yang Anda harapkan.
    • Fitur secrets sedang dilacak di issue #75. Injeksi lewat Compose config sudah memungkinkan, tetapi penyimpanan terenkripsi masih belum ada.
      Jawaban untuk pertanyaan 2 dan 3 adalah “belum”, dan “saat ini ya”. Lihat Discussion #94 untuk diskusi terkait.
      Sebagai pengguna Swarm, saya penasaran bagian mana yang terasa kurang atau merepotkan di Swarm dan bisa diperbaiki oleh Uncloud.
  • Ini benar-benar proyek yang keren. Tool lain dengan tema serupa juga layak dilihat

    • Dokploy
    • Coolify
    • Kubero
      Kalau tahu yang lain, saya harap bisa ditambahkan.
    • Daftar PaaS self-hosted juga berguna.
      Saya baru-baru ini mencoba Coolify, tetapi terasa agak belum matang. Saat ini saya memakai Dokku, namun saya berharap UI untuk pengelolaan database bisa lebih baik.
  • Saya puas dengan k3s, tetapi senang melihat ada upaya baru di wilayah tengah antara Docker Compose dan K8s penuh. Integrasi WireGuard khususnya terasa menarik.

  • Tool yang benar-benar keren. Terima kasih atas kerja kerasnya.
    Saya penasaran bagaimana replikasi state di backend bekerja. Anda menyebut CRDT dan protokol gossip, tetapi implementasi spesifiknya masih terasa samar.

    • Saat ini replikasi state didasarkan pada Corrosion.
  • Jika bukan K8s, kenapa bukan Nomad?

    • Nomad juga bagus, tetapi tetap memiliki control plane.
    • Nomad punya learning curve yang cukup nyata. Sementara itu, Uncloud hampir bisa langsung dipakai oleh siapa pun yang sudah mengenal Docker dan Compose.
    • Lisensi HashiCorp melarang penyediaan dalam bentuk SaaS setelah dimodifikasi.
      Artinya, pemanfaatannya terbatas di luar self-hosting, dan pada dasarnya tidak memungkinkan diservis secara bebas. Lihat teks lisensi lengkap.
  • Sebagai referensi, saya membagikan dua komponen p2p yang menarik