1. Pluginleri Docker konteynerine nasıl eklerim?
2. Plugin güncellemelerini otomatik nasıl yaparım?
Bir
3. Docker Compose ile plugin yükleme sırasında server’ı yeniden başlatmak zorunda mıyım?
Evet, Spigot sunucusu plugin klasörünü izleme özelliğine sahip değildir. Dosya eklenince Docker Compose içinde
4. Dockerfile oluşturmak yerine hazır imajı mı kullanmalıyım?
Bu sayede
5. Önbellek ve veri kalıcılığı için
Her zaman
6. Plugin ekleme beklenenden uzun sürerse ne yaparım?
7. Docker Compose ile son plugin versiyonunu nasıl kontrol ederim?
Bu yapı, Spigot sunucunuzu Docker Compose ile otomatik olarak yönetmek isteyen ileri seviye kullanıcılar için adım adım rehber sunar. Herhangi bir sorunuz veya özelleştirme öneriniz var mı?
docker-compose.yml dosyasında plugin klasörünü host ile bağlamak için volume tanımı yapar.
YAML:
services:
spigot:
image: itzg/minecraft-server:latest
container_name: minecraft
environment:
EULA: "TRUE"
ENABLE_WHITELIST: "FALSE"
volumes:
- ./data:/data # Sunucu verileri kalıcı
- ./plugins:/data/plugins # Plugin klasörü
ports:
- "25565:25565"
restart: unless-stopped
./plugins dizinine kopyaladığınız JAR dosyaları konteyner başlamadan önce plugins klasörüne taşınır.2. Plugin güncellemelerini otomatik nasıl yaparım?
Bir
update.sh script’i oluşturup, cron ile periyodik çalıştırabilir ya da dosya sistemini izleyen bir inotifywait komutu ekleyebilirsin. Örneğin 24 saat ara güncelleme:
Bash:
#!/usr/bin/env bash
while true; do
wget -O plugins/EssentialsX.jar https://example.com/EssentialsX.jar
docker compose restart spigot
sleep 86400
done
3. Docker Compose ile plugin yükleme sırasında server’ı yeniden başlatmak zorunda mıyım?
Evet, Spigot sunucusu plugin klasörünü izleme özelliğine sahip değildir. Dosya eklenince Docker Compose içinde
docker compose restart spigot komutu ile konteyner yeniden başlatılmalı. Eğer --volumes-from yerine doğrudan volume kullanıyorsan, sadece docker compose up -d yeterli olabilir; fakat yeniden başlatma genelde önerilir.4. Dockerfile oluşturmak yerine hazır imajı mı kullanmalıyım?
itzg/minecraft-server gibi resmi imajlar, Spigot ve Paper gibi farklı sürümleri destekler ve SERVER_TYPE/SPIGOT_VERSION ortam değişkenleri ile özelleştirilebilir. Örneğin:
YAML:
environment:
SERVER_TYPE: spigot
SPIGOT_VERSION: "1.19.4"
Bu sayede
Dockerfile yerine tek satır ortam değişkenleri ile sürüm seçimi yapılır.5. Önbellek ve veri kalıcılığı için
docker-compose.yml’de hangi ayarlar gerekir?Her zaman
./data:/data volume’ünü eklemek, world, configs ve plugin klasörlerinin host üzerinde saklanmasını sağlar. Böylece konteyner silinse bile veri kaybolmaz.6. Plugin ekleme beklenenden uzun sürerse ne yaparım?
docker-compose.yml içinde restart: unless-stopped yerine restart: always kullanmak, konteynerin ekleme sonrası otomatik yeniden denemesini sağlar. Ek olarak depends_on ifadesi ile spigot’un önceden başlatıldığından emin olabilirsin.7. Docker Compose ile son plugin versiyonunu nasıl kontrol ederim?
docker compose exec spigot bash -c "ls plugins" komutu, konteyner içindeki plugin dosyalarını listeler. Ayrıca docker compose exec spigot bash -c "grep -i 'Version' plugins/*" ile JAR dosyalarının meta verilerini okuyarak sürüm bilgisi elde edebilirsin.Bu yapı, Spigot sunucunuzu Docker Compose ile otomatik olarak yönetmek isteyen ileri seviye kullanıcılar için adım adım rehber sunar. Herhangi bir sorunuz veya özelleştirme öneriniz var mı?