Kısa cevap. OpenClaw deposunu klonla ve OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest" ayarlıyken ./scripts/docker/setup.sh çalıştır; böylece betik imaj derlemek yerine resmi hazır imajı kullanır (kaynaktan derleme en az 6 GB RAM ister). Betik onboarding'i çalıştırır, .env dosyasına bir Gateway token'ı yazar ve Gateway'i Docker Compose ile başlatır. Konteyner değiştirildiğinde hiçbir şey kaybolmasın diye ~/.openclaw durum klasörünü bağla ve 18789 portunu internete kapalı tut: Docker'ın yayınladığı portlar UFW'yi atlar. Konteynere en az 2 GB bellek ver; takas alanı olmadan 1 GB ile sınırlandığında resmi imaj testimizde bellek yetersizliğinden öldürüldü.
6 Kasım 2026'da kontrol edildi, OpenClaw 2026.11.1 için doğrudur.
Bu rehber OpenClaw'ın Docker belgelerini, deposundaki docker-compose.yml dosyasını ve resmi imajı kendi sunucumuzda yaptığımız bir testi kullanır (rakamlar aşağıda).
Docker'a gerçekten ihtiyacın var mı?
OpenClaw belgeleri Docker'ı isteğe bağlı olarak adlandırır: yalıtılmış, tek kullanımlık bir Gateway için ya da Node.js kurmak istemediğin bir makine için kullanışlıdır. Yalnızca OpenClaw çalıştıran bir VPS'te asıl yol, systemd servisiyle düz npm kurulumudur (bkz. OpenClaw'ı 7/24 nasıl barındırırsın). Docker, zaten başka şeyleri konteynerlerde çalıştırıyorsan iyi bir seçimdir.
Resmi imaj nedir?
Nerede:ghcr.io/openclaw/openclaw (asıl) ve Docker Hub yansısı openclaw/openclaw. OpenClaw, resmi olmayan yansılara karşı uyarır.
Etiketler:latest, 2026.11.1 gibi kesin sürümler, -slim varyantları ve tarayıcı otomasyonu için Chromium içeren -browser varyantları.
İçinde:tini altında node kullanıcısıyla çalışır ve giriş noktası, Gateway başlamadan önce bağladığın durum üzerinde openclaw doctor --fix çalıştırır; böylece imaj yükseltmeleri durumu senin yerine taşır. Yerleşik bir sağlık kontrolü /healthz adresini çağırır.
Ne ölçtük?
Linux sunucularımızdan birinde ghcr.io/openclaw/openclaw:2026.11.1 imajını çektik ve Gateway'i docker run ile (Compose ile değil) iki kez başlattık: model yok, sohbet uygulaması yok, yayınlanmış port yok, 1 CPU ile sınırlı ve takas alanı yok. Bir kez 2 GB, bir kez 1 GB bellek sınırıyla. Bellek değerleri, Linux'un bildirdiği gibi MiB cinsindendir.
Sonuç
İndirme
Sıkıştırılmış yaklaşık 695 MB (amd64), çekildikten sonra diskte 2.818 MiB (yaklaşık 3 GB)
İmajdaki Node.js
24.22.1
2 GB sınırı: başlangıç
/healthz, doctor geçişi dahil docker run'dan 48 saniye sonra yanıt verdi. Gateway 14 eklenti yükledi ve kendi açılışının 22. saniyesinde "ready" yazdı
2 GB sınırı: boşta bellek
Sağlık kontrolüne yanıt verdikten 30 saniye sonra 1.349 MiB, iki dakika sonra 1.106 MiB, en yüksek 1.439 MiB. Bellek yetersizliği olayı yok
1 GB sınırı
Gateway "ready" durumuna geldi, ardından başlangıçtan yaklaşık 54 saniye sonra konteynerin tamamı bellek yetersizliğinden öldürüldü (çıkış kodu 137)
OpenClaw SSS, bir VPS için mutlak asgari olarak 1 GB veriyor. Bu sürümle, 1 GB ile sınırlı bir konteynerde bu yetmedi. 2 GB veya daha fazlasını planla; gerçek konuşmalar, birden fazla sohbet uygulaması veya bir -browser imajı için daha da fazlasını. Ayrıntılar OpenClaw için ne kadar bellek gerekir yazısında.
Docker Compose ile adım adım
Docker Engine ve Docker Compose v2'yi kur, sonra depoyu al:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
OPENCLAW_IMAGE olmadan betik, kaynaktan openclaw:local derler ve bu en az 6 GB RAM ister; Killed ile veya 137 çıkış koduyla biten bir derleme belleği tüketmiştir. Betik sağlayıcı API anahtarını sorar, Gateway token'ını üretir ve .env dosyasına yazar, sonra Gateway'i başlatır.
Panoyu aç: aynı makinede http://127.0.0.1:18789/ adresini aç ve .env içindeki token'ı Settings'e yapıştır. Bağlantıya yeniden ihtiyacın olursa: docker compose run --rm openclaw-cli dashboard --no-open.
Terminal soruları olmayan bir makine için OpenClaw başsız (headless) bir önyükleme belgeler: sağlayıcı anahtarını, OPENCLAW_GATEWAY_TOKEN ve TELEGRAM_BOT_TOKEN değerlerini .env dosyasına koy, sonra docker compose up -d openclaw-gateway öncesinde Gateway konteyneri üzerinden onboard --non-interactive ve channels add --channel telegram --use-env komutlarını çalıştır.
Klasörü bağla, tek dosyayı asla. OpenClaw openclaw.json dosyasını değiştirerek kaydeder; bu yüzden tek dosyalık bir bind mount, konteynerin eski bir kopyayı okumasına yol açabilir.
Durumu yerel bir diskte tut. NFS, SMB ve CIFS paylaşımları SQLite'ın ihtiyaç duyduğu paylaşımlı bellek koordinasyonunu sağlamaz ve veritabanını bozabilir.
Durum klasörü başına bir Gateway. Yerine geçecek konteyneri başlatmadan önce eskisini durdur.
Yedekleri sır gibi koru. OpenClaw belgeleri, OAuth token'larının bu SQLite dosyalarında düz metin olarak durduğunu söyler.
Çalışan bir konteynerin içine kurduğun her şey, konteyner yeniden oluşturulunca kaybolur. Ek araçlar derleme zamanında imaja girer.
Portu gizli tut
Deponun docker-compose.yml dosyası ana makinede 18789 (ve 18790 ile 3978) portunu yayınlar ve Gateway'i --bind lan ile başlatır; bu yüzden yayınlanan port ona ulaşır. Bir VPS'te bu, sen engellemedikçe pano portunun genel adreste olduğu anlamına gelir. İki tuzak:
UFW bunu kapsamaz. Yayınlanan konteyner portları yalnızca ana makinenin INPUT kurallarından değil, Docker'ın kendi yönlendirme zincirlerinden geçer. OpenClaw belgeleri DOCKER-USER zinciri için kurallar verir; yalnızca SSH'a izin veren bir bulut güvenlik duvarı da işe yarar.
Panoya ulaşmak için tünel kullan:ssh -N -L 18789:127.0.0.1:18789 root@<vps-ip>, sonra kendi bilgisayarında http://127.0.0.1:18789/ adresini aç.
Compose ayrıca restart: unless-stopped ayarlar; böylece Gateway bir çökmeden veya yeniden başlatmadan sonra geri gelir, ve NET_RAW ile NET_ADMIN yetkilerini kaldırır.
İmajın giriş noktası, başlangıçta bağlı durumu onarır ve taşır. Önce ~/.openclaw klasörünü yedekle. latest ile her kararlı sürümle birlikte ilerlersin; yerinde kalmak için 2026.11.1 gibi bir etiket sabitle.
Docker'ı atla: OpenClaw'ı PlayNHost'ta çalıştır
Bir PlayNHost sunucusu zaten kendi bellek sınırı olan yalıtılmış bir konteynerdir; yani compose edilecek bir şey yok. Resmi imajı kullanmıyoruz: sunucu Node.js 26 çalıştırır ve openclaw npm paketini ilk başlatmada kurar, sonra her başlatmada daha yeni bir sürüm olup olmadığına bakar.
Kurulum: Ajan sayfasında bir yapay zeka sağlayıcı anahtarı ve bir Telegram veya Discord bot token'ı yapıştır, sonra Başlat'a bas. Aynı kurulumun testimizde ajan, kurulum dahil, ilk Başlat'tan 67 saniye sonra çalışıyordu.
Kalıcılık:.openclaw sunucunun diskinde ve yedeklerinde durur (testimizde yaklaşık 4 MB); program ve önbellekleri yeniden kurulur, yedeklenmez.
Port: Gateway yalnızca sunucunun kendi loopback adresinde, 18789 portunda, panelin ürettiği bir token'la dinler. Hiçbir şey yayınlanmaz, yani yanlış yapılandırılacak bir güvenlik duvarı yoktur.
Bellek: 2 GB, 4 GB ve 8 GB planlar. Başlatma betiği, 2 GB'ın altında OpenClaw çalıştırmayı reddeder.
Henüz dahil değil: web panosu, Telegram ve Discord dışındaki sohbet uygulamaları ve tarayıcı otomasyonu (Chromium yok).
Sitenin çalışması, nasıl kullanıldığını anlamamız ve pazarlamamızı ölçmemiz için çerez kullanıyoruz. Tümünü kabul edebilir, yalnızca zorunlu çerezleri kabul edebilir veya kategori bazında seçebilirsiniz.Sitenin çalışması, nasıl kullanıldığını anlamamız ve pazarlamamızı ölçmemiz için çerez kullanıyoruz. Burada varsayılan olarak açıktır. İstemediklerinizi kapatabilirsiniz.Gizlilik politikamızı okuyun