Konteynerler, hazır servisler ve Redis/Memcached
bipanel Pro, her barındırma hesabının kendi kullanıcısıyla rootless Podman konteynerleri çalıştırmasını sağlar: hazır servis şablonlarından ya da sabit etiketli bir imajdan örnek açılır, alan adına bağlanır ve paket sınırlarıyla kısıtlanır. Hesap başına Redis ve Memcached ayrı, konteynersiz bir Pro özelliğidir. İkisi de yalnızca sunucu kurulumunda çalışır.
Bu sayfada
#Genel bakış
Bu sayfadaki üç özellik birbirine bağlıdır:
| Özellik | Kullanıcı panelindeki menü | Sunucu Yönetimi menüsü | Sürüm |
|---|---|---|---|
| Konteyner çalışma zamanı | Gelişmiş → Konteynerler | Yazılım → Konteynerler | Pro |
| Hazır servis galerisi | Yazılım → Hazır Servisler | Konteynerler ekranından yönetilir | Pro |
| Hesap başına önbellek | Veritabanları → Redis ve Memcached | Yazılım → Redis ve Memcached | Pro |
Topluluk sürümünde bu menüler Pro olarak işaretlenir ve yeni konteyner örneği açılamaz. Lisans düşse de mevcut konteynerler panelden durdurulabilir; hesabı askıya alma ve silme onları da kapsar. Sürümler arasındaki farklar için Fiyatlar sayfasına bakın.
Docker veya Railway üzerindeki konteyner kurulumunda iç içe konteyner çalıştırılamaz; systemd bulunmadığından Redis/Memcached örnekleri de açılamaz. Bu özellikler yalnızca sunucu (native) kurulumunda kullanılabilir. Ayrıntılar: Docker ve Railway.
#Konteyner çalışma zamanı
#Kurulum ve gereksinimler
Podman bileşeni varsayılan olarak kurulu gelmez. Sunucu yöneticisi Sunucu Yönetimi → Konteynerler ekranından kurar; bileşen dağıtımın paketlerini (podman, uidmap, slirp4netns veya passt, fuse-overlayfs, catatonit) yükler ve kullanıcı yöneticilerine cpu, io, memory ve pids denetleyicilerini devreder. Kurulum tek başına hiçbir hesabı değiştirmez; bir hesap ilk örneğini açtığında panel onun alt kimlik aralığını ve kalıcı kullanıcı yöneticisini hazırlar.
Çalışma zamanının etkin sayılması için sunucuda şunlar gerekir:
- En az Podman 3.4, systemd ve loginctl
- cgroup v2 (Ubuntu 22.04+, Debian 12+ ve AlmaLinux/Rocky Linux/RHEL 9+ varsayılan olarak kullanır)
- newuidmap ve newgidmap araçları
Koşullardan biri eksikse ekran nedenini gösterir. AlmaLinux/Rocky Linux/RHEL üzerinde SELinux zorlama kipinde kalır; birimler hesaba özel etiketle bağlanır.
#Örnek oluşturma
Her örnek bir pod ve içindeki bir ya da daha fazla konteynerden oluşur ve hesabın systemd kullanıcı yöneticisinde birim olarak çalışır (Podman sürümüne göre Quadlet ya da podman generate systemd birimleri). İki kaynak vardır:
- Şablon: Hazır servis galerisinden seçilir; gereken alanlar sihirbazda sorulur, boş bırakılan parolaları ve anahtarları panel üretir.
- İmaj: Kullanıcı imaj adını, HTTP portunu, ek portları, kalıcı birimleri, ortam değişkenlerini, komutu ve isteğe bağlı sağlık denetimini (HTTP yolu ya da komut) kendisi girer.
İmajda sürüm etiketi ya da özet (@sha256:…) zorunludur; latest etiketi kabul edilmez. Böylece imaj her çekişte kendiliğinden değişmez ve güncelleme bilinçli olarak panelden yapılır. Kısa adlar (ör. nginx:1.27) docker.io altında aranır.
#Alan adı, portlar ve yeniden başlatma
Konteyner portları konakta yalnızca 127.0.0.1 üzerinde, 20000–29999 aralığından ayrılan portlarda yayınlanır; dışarıya doğrudan açılmaz. HTTP portu olan bir örnek hesabın alan adlarına bağlanabilir. Bağlanan örnek Uygulamalar listesinde de görünür ve web sunucusu üzerinden, alan adının SSL sertifikasıyla sunulur. HTTP portunu başka bir kullanıcının süreci tutarsa panel o porta yönlendirmeyi durdurur, hesap sahibini ve yöneticiyi bilgilendirir.
Yeniden başlatma politikası on-failure (varsayılan), always ya da no olabilir. İlk ziyaretçinin yönetici olduğu ya da varsayılan parolayla gelen servislerde panel bir kurulum kilidi koyar: kurulum bitip kilit kaldırılana kadar alan adı panelin ürettiği kullanıcı adı ve parolayla korunur.
#Günlük kullanım
Örnek sayfasında başlatma, durdurma ve yeniden başlatma, konteyner günlükleri, tarayıcıdan konteyner kabuğu, ortam değişkenleri (gizli olanlar maskelenir), bellek ve işlemci ayarları bulunur. İmajlar bölümü hesabın imajlarını listeler ve hiçbir örneğin kullanmadığı imajları temizler. Sağlık denetimi başarısız olan örnekler için hesaba bildirim gönderilir; yönetici bunu sunucu ayarından kapatabilir.
İmaj güncelleme aynı depodan yeni bir sabit etiketi çeker, örneği yeniden oluşturur ve sağlık denetimini bekler; başarısız olursa önceki imaja döner. Yayıncısı değişen bir şablon imajına geçişte birimler önce yedeklenir, yeni imaj sağlıksızsa veriler bu yedekten geri yüklenir.
#Birimler ve yedekler
Kalıcı veriler ev dizininde ~/containers/<örnek>/<birim> altında tutulur. Örnek sayfasından alınan birim yedekleri ~/container-backups altına .tar.gz olarak yazılır; tutarlılık için konteyner varsayılan olarak yedek süresince durdurulur. Örnek silinirken birimler varsayılan olarak korunur; aynı adla yeniden açılan örnek eski yedekleri görür. Hesap yedekleri de konteyner birimlerini ayrıca alır: Yedekleme ve taşıma.
#Hazır servisler
Hazır Servisler galerisi konteyner çalışma zamanının üzerine kurulu bir şablon kataloğudur; kurulan her servis Konteynerler sayfasında normal bir örnek olarak yönetilir. Bu sürümde galeride şu şablonlar bulunur:
| Kategori | Şablonlar |
|---|---|
| Otomasyon | n8n |
| Depolama ve dosya | Nextcloud, MinIO, Joplin Server, Paperless-ngx, PhotoPrism |
| İzleme | Uptime Kuma, Grafana, Prometheus, changedetection.io |
| Analiz | Plausible Analytics, Umami, Metabase |
| İçerik yönetimi | Ghost, Directus, Wiki.js |
| Veritabanı | PostgreSQL, MariaDB, MongoDB, Redis, ClickHouse |
| Geliştirici araçları | Gitea, code-server, Adminer, NocoDB, Baserow |
| Güvenlik | Vaultwarden |
| İletişim | Mattermost Team Edition, Outline, listmonk, ntfy |
Şablonların imajları sabit sürüm etiketleriyle gelir. Mattermost Team Edition yalnızca amd64 işlemcilerde kurulabilir. Yeni kuruluma kapatılan bir şablon galeride gösterilmez; ondan kurulmuş örnekler çalışmaya devam eder. Galerideki Redis şablonu hesabın kendi konteynerinde çalışan ayrı bir Redis'tir; aşağıdaki Redis ve Memcached özelliğinden bağımsızdır.
#Sınırlar ve yalıtım
#Paket sınırları
| Sınır | Nereden ayarlanır | Anlamı |
|---|---|---|
| Örnek sayısı | Konteynerler ekranı, paket sınırları | Boş: sınırsız (hesap başına en fazla 200), 0: konteyner kapalı |
| İmaj sayısı | Konteynerler ekranı, paket sınırları | Hesabın depolayabileceği imaj sayısı |
| Tek imaj boyutu (MB) | Konteynerler ekranı, paket sınırları | Sınırı aşan yeni imaj silinir |
| Bellek ve işlemci | Paketin kaynak sınırları | Örnek sınırları bunları aşamaz |
| Varsayılan bellek | Sunucu ayarı (512 MB) | Paketin bellek sınırı yoksa yeni örneğe verilir |
Örnek başına bellek en az 64 MB'tır (bazı şablonlar daha fazlasını ister); işlemci %10 ile %12800 arasında ayarlanır ve %100 bir çekirdeğe karşılık gelir. Paket ayrıntıları: Hesaplar ve paketler.
#Disk kullanımı
Konteyner içindeki süreçlerin alt kimliklerle yazdığı dosyalar dosya sistemi kotasına girmez. Panel bu veriyi ayrıca ölçer; kota ile konteyner verisinin toplamı paketin disk sınırını aşarsa hesabın konteynerleri durdurulur ve yer açılana kadar yeni örnek, başlatma ve geri yükleme reddedilir.
#Yalıtım
- Konteynerler root olarak değil, hesabın kendi kullanıcısıyla (rootless) çalışır.
- Her hesaba
/etc/subuidve/etc/subgidiçinde diğer hesaplarla çakışmayan ayrı bir alt kimlik aralığı verilir. - Kullanıcı yöneticisi ve konteynerler hesabın kaynak diliminde çalışır; bellek ve işlemci sınırları cgroup v2 ile uygulanır.
- İmajlar yalnızca izin verilen kayıt defterlerinden çekilebilir (varsayılan:
docker.io,ghcr.io,quay.io). Yönetici listeyi değiştirebilir ve bu listeyi Podman düzeyinde/etc/containers/policy.jsonile de zorlayabilir; özgün dosya saklanır ve zorlama kapatılınca geri konur. - Şablon parolaları ve gizli ortam değişkenleri veritabanında şifreli tutulur, birim dosyalarına yazılmaz.
Genel hesap yalıtımı için: Hesap yalıtımı.
#Yönetici ve bayi yetkileri
Sunucu Yönetimi → Konteynerler ekranı tüm örnekleri, Podman bileşenini, kayıt defteri politikasını, varsayılan belleği ve sağlıksız örnek bildirimi ayarını gösterir; örnekler buradan başlatılıp durdurulabilir. Bileşen kurulumu ve sunucu ayarları yalnızca sunucu yöneticisine açıktır. Bayiler kendi hesaplarının örneklerini görür ve paket oluşturma izinleri varsa paket sınırlarını ayarlayabilir.
#Redis ve Memcached
Hesap başına önbellek konteyner kullanmaz. Her hesabın Redis ve Memcached örneği kendi systemd biriminde, hesap kullanıcısıyla ve hesabın kaynak diliminde çalışır. Örnekler TCP dinlemez; yalnızca ev dizinindeki unix soketinden erişilir:
| Servis | Soket | Notlar |
|---|---|---|
| Redis | ~/.bipanel/redis/redis.sock | Parola zorunlu; kalıcılık kapalı ya da AOF; silme politikası seçilebilir (varsayılan allkeys-lru) |
| Memcached | ~/.bipanel/memcached/memcached.sock | Kalıcılık yok, veriler yalnızca bellekte |
Kullanıcı sayfası örneği açıp kapatır; bağlantı bilgisini, yapılandırma örneklerini ve istatistikleri gösterir; önbelleği boşaltır ve yeniden başlatır. Bellek sınırı paketten gelir ve yeni paketlerde 0'dır: yönetici pakete bellek ayırana kadar servis kullanılamaz. Bir örnek en fazla 512 eşzamanlı bağlantı kabul eder.
Sunucu bileşenleri (redis-server, memcached) Sunucu Yönetimi → Redis ve Memcached ekranından kurulur; AlmaLinux/Rocky Linux/RHEL 10'da Redis yerine onunla uyumlu Valkey kurulur. Dağıtım paketleriyle gelen paylaşılan, parolasız örnekler kurulumda kapatılır; yönetici isterse aynı ekrandan açabilir. Sayfa önbelleği ve web sunucusu tarafı için: Web sunucusu ve önbellek.
Bu sayfada eksik ya da hatalı bir bilgi mi var? Bize yazın.