Independent testing Updated August 2026 387 self-hosting guides 5 VPS providers tested

guide

Cara Menghosting Sendiri Plane di VPS (Panduan Lengkap)

Pasang Plane, alternatif Jira yang sumber terbuka, di VPS dengan pemasang resminya. Membahas ukuran nyata, tumpukan 13 kontainer, DNS, pencadangan, dan peningkatan versi.

Plane adalah perkakas manajemen proyek sumber terbuka - isu, siklus, modul, dan halaman, di ruang yang sama dengan Jira dan Linear - sekaligus salah satu aplikasi self-hosting yang paling berat untuk ditaruh di VPS kecil. Community Edition membawa tumpukan tiga belas kontainer, jadi bagian menarik dari panduan ini adalah menentukan ukuran server dengan benar, bukan mengetik docker compose up.

Mengapa Menghosting Sendiri Plane?

Paket cloud menagih per kursi. Menghosting sendiri menghapus biaya itu dan menyimpan riwayat isu, lampiran, serta data proyek di infrastruktur yang Anda kendalikan - hal yang penting jika pelacak isu Anda memuat nama klien, temuan keamanan, atau peta jalan yang belum dirilis. Community Edition berlisensi AGPL-3.0, jadi Anda bisa menjalankannya untuk tim komersial tanpa biaya lisensi.

Konsekuensinya nyata: Anda yang mengurus peningkatan versi, pencadangan, dan instance Postgres. Jika tidak ada di tim yang mau memegang tugas itu, jawaban jujurnya adalah versi cloud.

Prasyarat

Dokumentasi Plane menyebutkan kebutuhannya dengan gamblang:

Batas 4 GB itu bukan pengaman berlebih. Tumpukannya menjalankan web, admin, space, api, worker, beat-worker, migrator, live, sebuah proxy, ditambah postgres:15.7-alpine, valkey/valkey:7.2.11-alpine, rabbitmq:3.13.6-management-alpine, dan minio/minio. Tiga belas kontainer dalam keadaan diam sudah memakan sebagian besar 4 GB sebelum satu pengguna pun masuk.

Jika Anda masih mencari server, Contabo, Hetzner Cloud, dan DigitalOcean sama-sama punya paket yang melewati batas - lihat tabel ukuran di bawah, dan perbandingan VPS lengkap kami untuk pilihan yang lebih luas.

Langkah 1: Pilih Paket yang Melewati 4 GB

Di sinilah sebagian besar instalasi Plane tersesat. Paket termurah di hampir setiap penyedia adalah 1 GB RAM, seperempat dari minimum yang ditetapkan Plane.

PaketvCPU / RAM / DiskHargaPenilaian untuk Plane
Contabo Cloud VPS 44 / 8 GB / 100 GB SSD5,50 EUR/bulan netMemenuhi rekomendasi 8 GB
Hetzner CX334 / 8 GB / 80 GB NVMe8,49 EUR/bulan netMemenuhi rekomendasi 8 GB
Hetzner CX232 / 4 GB / 40 GB NVMe5,49 EUR/bulan netPersis di minimum; cukup untuk tim kecil
Instance pemula DigitalOcean1 / 1 GB / 25 GB6 USD/bulanTerlalu kecil - tidak akan menjalankan Plane

Pasang Ubuntu 24.04 LTS, lalu buat pengguna non-root dan aktifkan firewall:

sudo apt update && sudo apt upgrade -y
sudo adduser plane
sudo usermod -aG sudo plane
sudo ufw allow OpenSSH && sudo ufw allow 80 && sudo ufw allow 443
sudo ufw enable

Langkah 2: Pasang Docker

Plane membutuhkan Compose v2. Pasang dari repositori resmi Docker agar Anda mendapat docker-compose-plugin, bukan skrip v1 yang sudah tidak didukung:

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo usermod -aG docker $USER

Keluar lalu masuk kembali, kemudian pastikan Anda memakai v2:

docker compose version

Langkah 3: Arahkan DNS ke Server Lebih Dulu

Kerjakan ini sebelum menjalankan pemasang. Pemasang menanyakan domain Anda saat penyiapan dan menuliskannya ke WEB_URL serta CORS_ALLOWED_ORIGINS; jika DNS belum teresolusi, penerbitan sertifikat gagal dan Anda akan sibuk menyunting berkas lingkungan sesudahnya.

Buat data A untuk plane.example.com yang mengarah ke alamat IP VPS, lalu tunggu sampai teresolusi:

dig +short plane.example.com

Langkah 4: Jalankan Pemasang Resmi

Plane mendistribusikan satu skrip pemasangan yang menarik image siap pakai dan menuliskan docker-compose.yaml terkelola:

curl -fsSL https://prime.plane.so/install/ | sh -

Skrip menanyakan domain Anda, lalu menawarkan Express (nilai bawaan) atau Advanced (mengatur variabel satu per satu). Express adalah pilihan tepat untuk instalasi pertama. Setelah selesai, Plane disajikan di port 80 dan 443, yang dikendalikan LISTEN_HTTP_PORT dan LISTEN_HTTPS_PORT.

Satu catatan soal repositori: berkas docker-compose.yml di GitHub membangun setiap layanan dari sumber, bukan menarik image. Itu alur untuk kontributor - proses build butuh RAM jauh lebih besar daripada menjalankan aplikasinya, dan akan gagal atau tersendat di VPS 4 GB. Gunakan pemasangnya.

Buka https://plane.example.com lalu buat akun pertama. Akun itu menjadi admin instance; panel adminnya ada di /god-mode/, tempat Anda mengatur SMTP, pembatasan pendaftaran, dan autentikasi.

Langkah 5: Cadangkan Bagian yang Penting

Dua hal memegang data Anda: volume PostgreSQL dan volume MinIO (yang menyimpan setiap lampiran berkas). Snapshot VPS mencakup keduanya, tetapi dump basis data yang bisa dipulihkan secara selektif tetap layak dimiliki:

docker exec plane-db pg_dump -U plane plane | gzip > plane-$(date +%F).sql.gz

Salin dump itu keluar dari server. Cadangan yang tersimpan di disk yang sedang Anda cadangkan bukanlah cadangan.

Membandingkan Pilihan VPS untuk Menghosting Plane

PenyediaPaket terkecil yang melewati 4 GBHarga per bulanCatatanTautan
ContaboCloud VPS 4 - 4 vCPU, 8 GB, 100 GB SSD5,50 EUR netJalur termurah menuju rekomendasi 8 GBContabo
Hetzner CloudCX23 - 2 vCPU, 4 GB, 40 GB NVMe5,49 EUR netMemenuhi minimum; CX33 seharga 8,49 EUR untuk 8 GBHetzner
DigitalOcean2 vCPU, 4 GB, 80 GB SSD24 USDLebih mahal, tetapi dokumentasi dan snapshot-nya terbaikDigitalOcean
Vultr2 vCPU, 4 GB, 80 GB SSD20 USDTermurah di antara ketiganya; pilihan region luasVultr
Linode (Akamai)2 vCPU, 4 GB, 80 GB SSD24 USDKinerja mudah ditebak, API kuatLinode

Polanya sulit dilewatkan: penyedia Amerika Serikat menagih 20-24 USD untuk tingkat 4 GB, kira-kira tiga sampai empat kali lipat setara Eropanya. Untuk pelacak isu yang melayani satu kantor di satu wilayah, selisih itu sulit dibenarkan.

Untuk gambaran menyeluruh, lihat perbandingan VPS lengkap kami.

Tempat Tim Sering Tersandung

Menentukan ukuran dari halaman pemasaran, bukan dari dokumentasi. Plane tampak seperti aplikasi web; perilakunya seperti platform kecil. Empat GB adalah lantai, bukan target.

Melewatkan SMTP. Tanpa surel yang dikonfigurasi di /god-mode/, undangan tidak pernah sampai dan Anda tidak bisa menambahkan siapa pun ke ruang kerja. Siapkan sebelum mengajak tim masuk.

Melupakan MinIO saat mencadangkan. Mendump Postgres saja memberi Anda semua isu dan komentar dengan seluruh lampiran hilang.

Plane sepadan dengan usaha penyiapannya jika tim Anda memang hidup di dalam pelacak isu dan Anda enggan membayar per kursi untuk itu. Tentukan ukuran mesinnya dengan benar, simpan cadangan di tempat lain, dan sisanya adalah layanan yang tenang untuk dijalankan.

Untuk proyek self-hosting lainnya dan kiat tambahan, telusuri daftar awesome-selfhosted atau komunitas r/selfhosted.

Frequently asked questions

Bisakah saya menghosting Plane di VPS dengan RAM 1 GB atau 2 GB?

Tidak bisa. Dokumentasi Plane sendiri menetapkan batas bawah 2 core CPU dan 4 GB RAM, dan tumpukan compose Community Edition menjalankan tiga belas kontainer termasuk PostgreSQL, Valkey, RabbitMQ, dan MinIO. Di mesin 2 GB pemasangnya memang berjalan, tetapi kontainer dihentikan karena kehabisan memori begitu ada pemakaian nyata. Nilai terendah yang benar-benar jalan adalah 4 GB, dan dokumentasinya merekomendasikan 8 GB untuk produksi.

Bagaimana cara memperbarui Plane ke rilis yang lebih baru?

Jalankan ulang skrip pengelolaan yang ditaruh pemasang di server Anda lalu pilih opsi peningkatan, atau dari direktori instalasi jalankan docker compose pull diikuti docker compose up -d. Kontainer migrator menerapkan migrasi basis data saat start, jadi ambil dump PostgreSQL dan snapshot VPS sebelum memperbarui. Baca dulu catatan rilisnya, karena versi mayor sesekali mengubah variabel lingkungan.

Apakah saya perlu nama domain untuk menjalankan Plane?

Secara praktis ya. Pemasang menanyakan domain saat penyiapan dan menuliskannya ke WEB_URL serta CORS_ALLOWED_ORIGINS, yang dipakai frontend dan API untuk saling berkomunikasi. Alamat IP polos cukup untuk uji coba lokal, tetapi CORS langsung rusak begitu alamatnya berubah, dan Anda tidak bisa menerbitkan sertifikat Let's Encrypt tanpa domain.