Plane, Jira ve Linear ile aynı kategoride yer alan açık kaynaklı bir proje yönetimi platformudur. Kendi sunucunuzda çalıştırdığınız Community Edition sürümü, arayüzünün düşündürdüğünden çok daha ağırdır; VPS boyutunu tahminle seçmek, bir Plane kurulumunun bozulmasının en yaygın nedenidir.
Belgelenen Gereksinimler
Plane’in kendi self-hosting belgeleri şunları söyler:
| Kaynak | Gereksinim |
|---|---|
| CPU | 2 çekirdek (x64/AMD64 veya AArch64/ARM64) |
| RAM | En az 4 GB, üretim için önerilen 8 GB |
| İşletim sistemi | Ubuntu, Debian, CentOS, Amazon Linux 2 veya 2023 |
| Çalışma zamanı | Docker Engine 20.10+, Docker Compose v2 |
| Ağ | 80 ve 443 portları, çözümlenen bir alan adı |
4 GB Sınırı Neden Gerçek?
Plane tek bir süreç değildir. Community Edition compose yığını on üç konteyner başlatır:
- Uygulama:
web,admin,spaceveliveön yüzleri, ayrıca Django tabanlıapi - Arka plan:
worker,beat-workervemigrator - Veri:
postgres:15.7-alpine,valkey/valkey:7.2.11-alpine,rabbitmq:3.13.6-management-alpine,minio/minio - Kenar: 80 ve 443 portlarını üstlenen
proxykonteyneri
On üç konteyner, tek bir iş kaydı oluşturulmadan boştayken bile 4 GB’ın büyük bölümünü tüketir. 1 GB ve 2 GB planların çalışmamasının nedeni budur: Plane verimsiz olduğu için değil, uygulamanın yanında bir veritabanı, bir mesaj kuyruğu, bir önbellek ve bir nesne deposu çalıştırdığınız için.
RAM: Ekip Büyüklüğüne Göre Boyutlandırma
| Senaryo | RAM | Notlar |
|---|---|---|
| Deneme veya 2-5 kişilik ekip | 4 GB | Belgelenen minimum; çalışır ama nefes payı bırakmaz |
| Plane’i her gün kullanan 5-30 kişi | 8 GB | Belgelerde geçen üretim önerisi |
| Devam eden büyük Jira aktarımı | 8 GB+ | Toplu içe aktarma bellek yer, ama kısa sürelidir |
İki boyut arasında kaldıysanız büyüğünü seçin. Plane’in yetersiz bellekteki davranışı, çekirdeğin bir konteyneri istek ortasında sonlandırmasıdır; bu da açık bir bellek hatası yerine rastgele hatalar gibi görünür.
CPU: İki Çekirdek Gerçekten Yeterli
İş takibi dalgalı bir yüktür. Biri panoyu açar, API yanıt verir, sunucu yeniden sessizleşir. Normal bir ekip için iki vCPU bunu rahatça karşılar.
Dört çekirdek tek bir durumda kendini amorti eder: mevcut bir iş listesini içe aktarırken. Toplu aktarma sırasında Django API’si, Celery işçisi ve PostgreSQL aynı anda çalışır ve iş, fazladan çekirdekle belirgin biçimde erken biter. Bu tek seferlik bir yük olduğundan sürekli para ödemeye genelde değmez - dört çekirdekli plan aynı zamanda 8 GB’lık plansa başka, ki Contabo’da öyle.
Depolama: Postgres’i Değil MinIO’yu İzleyin
Veritabanı küçük kalır. İş kayıtları, yorumlar ve etkinlik geçmişi metinden ibarettir; yoğun bir ekipte bile Postgres birimi yavaş büyür.
Değişken olan, eklerdir. Bir işe yüklenen her ekran görüntüsü ve belge MinIO birimine düşer; ekran görüntüsünü bolca yapıştıran ekipler, veritabanı önem kazanmadan çok önce 40 GB’lık diski doldurur.
40 GB ile başlayın, MinIO birimini izleyin ve NVMe ya da SSD tercih edin - PostgreSQL’in performansı G/Ç’ye bağlıdır ve çok sayıda işi toplayan pano görünümlerinde fark hissedilir.
Bu Gereksinimlere Uyan VPS Planları
| Sağlayıcı | Plan | vCPU / RAM / Disk | Fiyat | Değerlendirme | Bağlantı |
|---|---|---|---|---|---|
| Contabo | Cloud VPS 4 | 4 / 8 GB / 100 GB SSD | 5.50 EUR/ay net | Önerilen 8 GB’ı karşılayan tek plan | Contabo |
| Hetzner Cloud | CX23 | 2 / 4 GB / 40 GB NVMe | 5.49 EUR/ay net | Minimumu karşılar; 8 GB için CX33 8.49 EUR | Hetzner |
| DigitalOcean | Basic 4 GB | 2 / 4 GB / 80 GB SSD | 24 USD/ay | Minimumu karşılar; en iyi anlık görüntü araçları | DigitalOcean |
| Vultr | Regular 4 GB | 2 / 4 GB / 80 GB SSD | 20 USD/ay | Minimumu karşılar; en geniş bölge seçimi | Vultr |
| Linode | Linode 4 GB | 2 / 4 GB / 80 GB SSD | 24 USD/ay | Minimumu karşılar; öngörülebilir performans | Linode |
Her sağlayıcının 1 GB’lık giriş planı listeden bilerek çıkarıldı. Bu planlar Plane’in belgelenen minimumunun altında kalır ve hiçbir ayar bunu değiştirmez.
Kaynaktan Derleme Üzerine Bir Not
Plane’in GitHub deposundaki docker-compose.yml, yayımlanmış imajları çekmek yerine her servisi kendi Dockerfile’ından derler. Next.js ön yüzlerini derlemek, onları çalıştırmaktan belirgin biçimde fazla bellek ister; 4 GB’lık bir VPS’te derleme ya sürünür ya da tamamen başarısız olur.
Desteklenen yol, hazır imajları çeker:
curl -fsSL https://prime.plane.so/install/ | sh -
Sunucuyu Plane’i derlemek için değil, çalıştırmak için boyutlandırın.
Büyümeyi Planlamak
- Yeniden boyutlandırmaya karar vermeden önce
docker statsile izleyin; hangi konteynerin gerçekten zorlandığını gösterir. - Her sürüm yükseltmesinden önce VPS’in anlık görüntüsünü alın -
migratorkonteyneri şema değişikliklerini açılışta uygular. - PostgreSQL birimi ile MinIO birimini birlikte yedekleyin. Tek başına her biri, eksik bir kurulum geri yükler.
- Çoğu sağlayıcı belleği yerinde büyütür; 4 GB ile başlayıp sonra 8 GB’a geçmek bir göç değil, bir yeniden başlatmadır.
Sağlayıcılar arasındaki planlara daha geniş bir bakış için tam VPS karşılaştırmamıza göz atın.
Takip etmeye değer topluluk kaynakları: awesome-selfhosted listesi ve r/selfhosted forumu.
Frequently asked questions
Kendi sunucunuzda çalışan bir Plane örneği gerçekte ne kadar RAM ister?
Resmî minimum 4 GB, belgelenen üretim önerisi ise 8 GB. Community Edition on üç konteyner çalıştırır; PostgreSQL, Valkey, RabbitMQ ve MinIO daha kimse giriş yapmadan 4 GB'ın büyük kısmını doldurur. Küçük bir ekip veya deneme kurulumu için 4 GB, Plane her sabah açılan takip aracına dönüştüğünde 8 GB kullanın.
Plane kaç CPU çekirdeği gerektirir?
Belgelenen minimum, x64/AMD64 veya AArch64/ARM64 üzerinde iki çekirdektir. Günlük iş takibi için iki çekirdek yeterlidir, çünkü yük sürekli değil dalgalıdır. Jira'dan büyük bir iş listesi içe aktaracaksanız dört çekirdek işe yarar: toplu işlemler sırasında Django API'si ile arka plan işçileri aynı CPU için yarışır.
Plane için ne kadar disk alanı ayırmalıyım?
40 GB ile başlayın ve büyümeyi hesaba katın. PostgreSQL veritabanı uzun süre küçük kalır, asıl diski dolduran MinIO'dur: bir işe eklenen her dosya oraya gider. Ekran görüntüleri ve belgeler istikrarlı biçimde birikir, bu yüzden yeniden boyutlandırma kararını veritabanına değil MinIO birimine bakarak verin.