Dokploy, Docker Swarm, Traefik ve HTTPS ile nasıl kurulur
Dokploy'u resmi betiğiyle kurun, yönetici hesabını oluşturun, paneli alan adınızda HTTPS'e taşıyın, 3000 portunu kapatın; yedekleme ve güncellemeyi ayarlayın.
- Orta
- 30 dk okuma
- Güncellendi
Denendiği sistemler: Ubuntu 24.04 LTS, Debian 12
Bu sayfada
- Ön koşullar
- Adım 1 — Güvenlik duvarını hazırlayın
- Adım 2 — Kurulum betiğini indirin ve inceleyin
- Adım 3 — Kurulum betiğini çalıştırın
- Adım 4 — Yönetici hesabını oluşturun
- Adım 5 — Paneli alan adınızda HTTPS ile sunun
- Adım 6 — 3000 portunu kapatın
- Yedekleme ve geri yükleme
- Dokploy güncelleme
- Sorun giderme
- Kurulum betiği 80, 443 veya 3000 portu kullanımda olduğu için duruyor
- Swarm başlatma başarısız oluyor veya panel yanlış IP adresi gösteriyor
- Yeniden başlatmadan sonra panel açılmıyor
- Let's Encrypt sertifika vermiyor
- Disk imajlar ve derleme önbelleğiyle doluyor
- Yönetici parolasını unuttunuz
- Sonraki adımlar
Dokploy, açık kaynaklı ve kendi sunucunuzda barındırabileceğiniz bir dağıtım platformudur. Uygulamaları Git depolarından, Dockerfile'lardan ve Docker Compose dosyalarından derleyip çalıştırır, veritabanları hazırlar ve alan adlarınızı otomatik Let's Encrypt sertifikalarıyla Traefik üzerinden yönlendirir. Arka planda sunucunuzu bir Docker Swarm yöneticisine dönüştürür; bu da ileride başka sunucuları yönetmesini mümkün kılar.
Bu rehber Dokploy'u, siz indirip okuduktan sonra resmi kurulum betiğiyle kurar, yöneticiyi oluşturur, paneli HTTPS ile kendi alan adınıza taşır, genel 3000 portunu kaldırır ve instance, veritabanları ve volume'lar için Dokploy'un S3 yedeklerini ayarlar. Son olarak güncelleme yöntemini ve sık görülen sorunların çözümlerini ele alır.
Ön koşullar
- Ubuntu 24.04 LTS veya Debian 12 çalıştıran temiz bir sunucu. Dokploy'un test listesinde daha eski sürümler (Ubuntu 22.04, 20.04, Debian 11 ve diğerleri), Fedora 40 ile CentOS 9 ve 8 de bulunur. Ubuntu 26.04 ve Debian 13, Ekim 2026 itibarıyla test listesinde yer almıyor; bu yüzden bu rehber onları kapsamaz.
sudoüzerinden root erişimi; Yeni bir Linux sunucusunu güvenli hale getirin ve SSH anahtarlarını ayarlayın rehberlerindeki gibi root olmayan bir yönetici kullanıcı ve SSH anahtarıyla giriş. Kurulum betiğinin kendisi root olarak çalışmalıdır.- Boş 80, 443 ve 3000 portları. Bu portlarda bir şey dinliyorsa kurulum betiği durur; bu yüzden önceden Caddy, Nginx veya Apache kurmayın.
- Docker isteğe bağlıdır: yoksa kurulum betiği kurar. Sunucuyu mevcut bir Swarm'a katmayın.
- Panelin HTTPS adresi için sunucuyu gösteren bir A kaydına sahip
dokploy.example.comgibi bir alan adı.
| Kaynak | En düşük (resmi) | Önerilen başlangıç |
|---|---|---|
| CPU | Yayınlanmamış | 2 vCPU; imajları burada derleyecekseniz 4 vCPU |
| Bellek | 2 GB | 4 GB |
| Disk | 30 GB | 60 GB SSD |
Bellek ve disk alt sınırları Dokploy'un kurulum sayfasından alınmıştır; Dokploy en düşük CPU değeri yayınlamaz. Sağ sütun temkinli bir başlangıç noktasıdır; resmi veya ölçülmüş bir değer değildir. Derlemeler, veritabanları ve loglar hızla büyür; pay bırakın.
Adım 1 — Güvenlik duvarını hazırlayın
SSH, HTTP, HTTPS'e ve yalnızca ilk kurulum için panel portu 3000'e izin verin:
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 3000/tcp
sudo ufw enable
sudo ufw status verboseİki noktaya dikkat edin. Birincisi, Dokploy 3000 portunu, Traefik ise 80 ve 443 portlarını Docker üzerinden yayınlar; Docker belgeleri yayınlanan portlara gelen paketlerin ufw kuralları uygulanmadan önce yönlendirildiğini açıklar. Bu nedenle ufw 3000 portunu kapatamaz; onu Adım 6 kaldırır, sağlayıcının ağ güvenlik duvarı da ikinci bir katman ekler. İkincisi, kurulum betiği 2377/tcp, 7946/tcp ve udp ile 4789/udp portlarında dinleyen bir Docker Swarm oluşturur. Bunları internete kapalı tutun: Docker'ın Swarm belgeleri VXLAN portu 4789'un güvenilmeyen ağlara asla açılmaması gerektiğini söyler. ufw'nin varsayılan reddetme politikası bunları zaten engeller; ileride sunucu eklerseniz yalnızca kendi düğümleriniz arasında açın.
Adım 2 — Kurulum betiğini indirin ve inceleyin
Resmi betiği indirin ve root olarak çalıştırmadan önce okuyun:
curl -sSL https://dokploy.com/install.sh -o dokploy-install.sh
less dokploy-install.shEkim 2026 itibarıyla betik şunları yapar:
- GitHub'dan en son kararlı Dokploy sürümünü seçer (ayarlıysa
DOKPLOY_VERSIONdeğerini kullanır); - root olarak çalışmıyorsa, macOS'ta veya bir konteyner içindeyse sonlanır; 80, 443 veya 3000 portları kullanımdaysa da sonlanır;
- Docker yoksa Docker'ın 28.5.0 sürümüne sabitlenmiş kolaylık betiğiyle kurar ve apt tabanlı sistemlerde
docker-ce,docker-ce-clivedocker-ce-rootless-extraspaketlerini bekletmeye (hold) alır; docker swarm leave --forceçalıştırır, ardından bir duyuru adresiyledocker swarm inityapar: ilk özel IPv4 adresini, yoksa ifconfig.io veya icanhazip.com üzerinden öğrendiği genel IP'yi kullanır;- bağlanılabilir
dokploy-networkoverlay ağını ve/etc/dokployklasörünü oluşturur; - PostgreSQL parolasını ve bir kimlik doğrulama sırrını üretip Docker secret olarak saklar; bu değerler hiçbir zaman ekrana yazılmaz;
dokploy-postgres(PostgreSQL 16) vedokploy(3000 portunda yayınlanan panel) Swarm servislerini vedokploy-traefikkonteynerini (80 ve 443 portlarında Traefik v3) başlatır.
Dokploy, 0.29.9 sürümünden beri kendi sunucunuzdaki kurulumlarda Redis kullanmaz.
Adım 3 — Kurulum betiğini çalıştırın
İncelediğiniz betiği root olarak çalıştırın:
sudo sh dokploy-install.shSunucunun birden fazla adresi varsa veya betik bir adres belirleyemezse, Swarm'ın duyuracağı adresi kendiniz ayarlayın:
sudo ADVERTISE_ADDR=203.0.113.10 sh dokploy-install.shBetik sonunda http://sunucu-ip-adresiniz:3000 adresini yazdırır ve yaklaşık 15 saniye beklemenizi ister. Servisleri ve Traefik konteynerini kontrol edin:
sudo docker service ls
sudo docker psdokploy ve dokploy-postgres servisleri 1/1 replika göstermeli, dokploy-traefik ise Up durumunda olmalıdır.
Adım 4 — Yönetici hesabını oluşturun
http://sunucu-ip-adresiniz:3000 adresini hemen açın. İlk ziyarette yönetici hesabını oluşturduğunuz kurulum sayfası görünür: adınızı, e-posta adresinizi ve uzun, benzersiz bir parolayı girin. Bu sayfaya sizden önce ulaşan herkes instance'ı sahiplenebilir; bu yüzden sayfayı bekletmeyin.
Giriş yaptıktan sonra:
- Profilinizde iki adımlı doğrulamayı açın.
- Diğer kişileri yönetici girişini paylaşmak yerine Settings, Users altından davet edin ve onlara yalnızca ihtiyaç duydukları rolleri verin.
Adım 5 — Paneli alan adınızda HTTPS ile sunun
Dokploy belgeleri, alan adını eklemeden önce DNS'in sunucuyu göstermesi gerektiğini vurgular; aksi hâlde sertifika oluşturulmaz. dokploy.example.com adının sunucunuza çözümlendiğini doğrulayın, ardından:
- Settings ve ardından panelin kendi alan adı, sertifika ve bakım ayarlarını içeren Web Server bölümünü açın.
- Host olarak
dokploy.example.comgirin, HTTPS'i açın, sertifika türü olarak Let's Encrypt seçin ve Let's Encrypt bildirimleri için bir e-posta adresi girin. - Kaydedin. Traefik sertifikayı ister.
Bilgisayarınızdan kontrol edin:
curl -I https://dokploy.example.comGeçerli bir sertifikayla HTTPS üzerinden bir yanıt almalısınız. Devam etmeden önce yeni adres üzerinden giriş yapın.
Adım 6 — 3000 portunu kapatın
Panel HTTPS üzerinde çalıştığında, Dokploy belgelerindeki komutla yayınlanan 3000 portunu kaldırın ve geçici ufw kuralını silin:
sudo docker service update --publish-rm "published=3000,target=3000,mode=host" dokploy
sudo ufw delete allow 3000/tcpBaşka bir makineden nc -vz sunucu-ip-adresiniz 3000 artık reddedilmeli veya zaman aşımına uğramalı, https://dokploy.example.com ise açılmaya devam etmelidir. Doğrudan erişime yeniden ihtiyaç duyarsanız portu aynı tanımla --publish-add kullanarak geçici olarak yayınlayın.
Yedekleme ve geri yükleme
Dokploy'un tüm yedekleri S3 uyumlu depolamaya gider; bu yüzden işe bir hedef ekleyerek başlayın: Settings ve ardından S3 Destinations bölümünü açın, depolama sağlayıcınızın erişim anahtarını, gizli anahtarını, bucket adını, bölgesini ve uç noktasını girin.
Instance yedeği. Web Server altında Backups bölümünü açın, Create Backup seçin, hedefi ve isteğe bağlı olarak 0 3 * * * gibi bir cron zamanlamasını belirleyin. Her çalıştırma dokploy-postgres veritabanını ve /etc/dokploy klasörünü (Traefik yapılandırması dahil) tek bir sıkıştırılmış .zip dosyasında toplar ve yükler.
Veritabanı yedekleri. Dokploy'da oluşturduğunuz her veritabanı için Backup sekmesini açın, hedefi seçin; Database Name, Schedule Cron ve Prefix alanlarını doldurun. Enabled seçeneğini açık bırakın ve bucket'a ilk yedeği göndermek için Test seçin.
Volume yedekleri. Uygulamaların ve Compose servislerinin adlandırılmış Docker volume'ları için Volume Backups bölümünü kullanın: işe bir ad verin, servisi ve volume'u seçin, bir zamanlama belirleyin ve dosyaların tutarlı olması için Turn off Container seçeneğini seçili tutun. Bind mount'lar desteklenmez; önce adlandırılmış volume'lara geçin.
Yapılandırma klasörünün yerel bir kopyası, örneğin Traefik ayarlarını değiştirmeden önce, faydalı bir ektir:
sudo mkdir -p /opt/backups
sudo tar czf /opt/backups/dokploy-etc-$(date +%F).tar.gz /etc/dokployGeri yükleme. Instance'ı geri yüklemek için Web Server, ardından Backups bölümünü açın, Restore Backup seçin, hedefi ve dosyayı seçip özeti inceleyin. Geri yükleme /etc/dokploy içeriğini değiştirir, dokploy-postgres veritabanını silip yeniden kurar ve mevcut oturumları keser; ardından yeniden giriş yapın, yönlendirmeler hatalı çalışırsa Traefik'i yeniden başlatın. Yeni bir sunucuda önce Dokploy'u kurun, aynı S3 hedefini ekleyin, geri yükleyin; ardından sunucu ayarlarındaki Update IP ile IP'yi güncelleyin, DNS kayıtlarınızı değiştirin ve IP adresi kullanan Git sağlayıcılarını yeniden yapılandırın. Veritabanları kendi Backup sekmesindeki Restore ile; volume'lar ise henüz var olmayan bir volume adına, konteynerleri durdurulmuşken Restore Volume ile geri yüklenir.
Dokploy güncelleme
Dokploy'un GitHub sürümler sayfasındaki sürüm notlarını okuyun (Ekim 2026 başında en son sürüm 0.30.8 idi) ve önce bir instance yedeği alın. Ardından betiği yeniden indirip update komutunu çalıştırın:
curl -sSL https://dokploy.com/install.sh -o dokploy-install.sh
sudo sh dokploy-install.sh update
sudo docker service lsResmi tek satırlık biçimi curl -sSL https://dokploy.com/install.sh | sh -s update komutudur. update komutu yeni dokploy/dokploy imajını çeker ve yalnızca dokploy servisini günceller; Dokploy'un elle kurulum sayfasında ayrıca ele alınan PostgreSQL'e ve Traefik'e dokunmaz. Docker'ı sizin için kurulum betiği kurduysa Docker paketleri sabitlenen sürümde bekletmededir; bu yüzden apt upgrade Docker'ı güncellemez. Bu bekletmeyi apt-mark unhold ile kaldırmadan önce Dokploy belgelerini kontrol edin.
Sorun giderme
Kurulum betiği 80, 443 veya 3000 portu kullanımda olduğu için duruyor
Dokploy'un portlarından birinde zaten bir şey dinliyor. sudo ss -tulnp | grep -E ':(80|443|3000) ' ile bulun, o servisi (genellikle Apache, Nginx veya Caddy) durdurup devre dışı bırakın ve kurulum betiğini yeniden çalıştırın.
Swarm başlatma başarısız oluyor veya panel yanlış IP adresi gösteriyor
Betik kullanılabilir bir adres bulamadı ya da istemediğiniz özel bir adresi seçti. Adım 3'teki gibi ADVERTISE_ADDR değerini sunucunun genel IP adresine ayarlayarak yeniden çalıştırın.
Yeniden başlatmadan sonra panel açılmıyor
Konteynerler yanlış sırayla başlamış ve Dokploy, PostgreSQL hazır olmadan ayağa kalkmış olabilir. Logları okuyun, ardından panel servisini yeniden başlatın:
sudo docker service logs dokploy --tail 50
sudo docker service logs dokploy-postgres --tail 50
sudo docker logs dokploy-traefik --tail 50
sudo docker service scale dokploy=0
sudo docker service scale dokploy=1Dolu bir disk de Dokploy veritabanını kurtarma moduna sokabilir; boş alanı df -h ile kontrol edin.
Let's Encrypt sertifika vermiyor
Alan adı büyük olasılıkla DNS kaydı sunucuyu göstermeden önce eklendi. Kaydı düzeltin, ardından alan adını Dokploy'da yeniden oluşturun veya Traefik'i sudo docker restart dokploy-traefik ile yeniden başlatın. 80 ve 443 portlarının sağlayıcınızın güvenlik duvarında da açık olduğundan emin olun.
Disk imajlar ve derleme önbelleğiyle doluyor
Dokploy'un sorun giderme sayfası Docker'ın prune komutlarını kullanır; örneğin derleme önbelleği için sudo docker builder prune -a, kullanılmayan imajlar için sudo docker image prune -a. Önce alanı neyin kullandığını sudo docker system df ile görün; prune -a şu anda hiçbir konteynerin kullanmadığı tüm imajları siler.
Yönetici parolasını unuttunuz
dokploy servisinin konteynerini bulun (imajı dokploy/dokploy olandır) ve Dokploy'un sıfırlama komutunu içinde çalıştırın:
sudo docker ps --filter name=dokploy
sudo docker exec -it CONTAINER_ID bash -c "pnpm run reset-password"CONTAINER_ID yerine ilk komuttaki kimliği yazın. İki adımlı doğrulama için pnpm run reset-2fa aynı şekilde çalışır.
Sonraki adımlar
- Kendi sunucunuzda barındırılan başka bir platformla karşılaştırmak için Coolify kurulumu rehberine bakın.
- Traefik'in alan adlarını nasıl yönlendirdiğini Traefik reverse proxy rehberinde öğrenin.
- Derleme iş yükleri için boyutlandırılmış sunuculara Dokploy hosting sayfasında göz atın.
- Uygulamalar, Compose dağıtımları ve uzak sunucular için resmi Dokploy belgelerini okuyun.
Sık sorulan sorular
Dokploy hangi işletim sistemlerini destekler?
Dokploy test edilmiş sistemler olarak Ubuntu 24.04, 23.10, 22.04, 20.04 ve 18.04, Debian 12, 11 ve 10, Fedora 40 ile CentOS 9 ve 8'i listeler. Ekim 2026 itibarıyla Ubuntu 26.04 ve Debian 13 bu listede yer almadığı için bu rehber Ubuntu 24.04 veya Debian 12 kullanır.
Dokploy neden Docker Swarm kullanır?
Kurulum betiği sunucuyu tek düğümlü bir Docker Swarm yöneticisine dönüştürür. Dokploy panelini ve PostgreSQL veritabanını dokploy-network adlı bir overlay ağ üzerinde Swarm servisleri olarak çalıştırır; Traefik de alan adlarınızı dağıttığınız uygulamalara yönlendirir.
3000 portunu açık tutmam gerekir mi?
Hayır. 3000 portu yalnızca panel kendi alan adınızda HTTPS ile çalışana kadar gereklidir. Ardından Dokploy belgeleri, yayınlanan portu kaldıran bir docker service update komutu verir.
Dokploy'u aynı sunucuda kendi Caddy veya Nginx'imin arkasında çalıştırabilir miyim?
Kurulumu değiştirmeden hayır. 80, 443 veya 3000 portları kullanımdaysa kurulum betiği çalışmayı reddeder; çünkü Dokploy'un kendi Traefik konteyneri 80 ve 443 üzerinden tüm alan adlarına hizmet verir ve sertifikaları ister.
Dokploy uygulamalarımı kendiliğinden yedekler mi?
Hayır. Önce S3 uyumlu bir hedef eklersiniz, ardından Dokploy instance'ı, her veritabanı ve adlandırılmış volume'lar için yedek zamanlarsınız. Instance yedeği yalnızca Dokploy'un kendi veritabanını ve /etc/dokploy klasörünü kapsar.
Kaynaklar
- docs.dokploy.com/docs/core/installation
- dokploy.com/install.sh
- docs.dokploy.com/docs/core/manual-installation
- docs.dokploy.com/docs/core/interface-overview
- docs.dokploy.com/docs/api/settings
- docs.dokploy.com/docs/core/backups
- docs.dokploy.com/docs/core/databases/backups
- docs.dokploy.com/docs/core/volume-backups
- docs.dokploy.com/docs/core/troubleshooting/instance
- docs.dokploy.com/docs/core/troubleshooting/domains
- docs.dokploy.com/docs/core/reset-password
- github.com/Dokploy/dokploy/releases