YENİ 📢 Sınırlı lansman teklifi: Tüm oyunlarda ilk aya %70'e varan indirim!Paketleri görün

OpenClaw Docker ile nasıl çalıştırılır?

OpenClawUpdated Nov 6, 20267 min read

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ç
İndirmeSıkıştırılmış yaklaşık 695 MB (amd64), çekildikten sonra diskte 2.818 MiB (yaklaşık 3 GB)
İmajdaki Node.js24.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 bellekSağ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

  1. Docker Engine ve Docker Compose v2'yi kur, sonra depoyu al:
    git clone https://github.com/openclaw/openclaw.git
    cd openclaw
  2. Kurulum betiğini hazır imajla çalıştır:
    export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
    ./scripts/docker/setup.sh
    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.
  3. 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.
  4. Bir sohbet uygulaması ekle:
    docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"
    docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
    Yeni DM'ler eşleştirme (pairing) modunda başlar: botuna mesaj at, sonra docker compose run --rm openclaw-cli pairing approve telegram <CODE> komutunu çalıştır. Daha fazlası OpenClaw'ı Telegram'a bağlama yazısında.
  5. Kontrol et:
    docker compose ps
    docker compose logs --tail=100 openclaw-gateway
    curl -fsS http://127.0.0.1:18789/healthz

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.

Kalıcılık: nelerin bağlanacağı ve yedekleneceği

KonteynerdeNeyi tutarAna makine tarafı (kurulum varsayılanı)
/home/node/.openclawopenclaw.json, SQLite depoları (sağlayıcı kimlik doğrulaması, oturumlar), kurulu eklentiler, .env sırları$HOME/.openclaw
/home/node/.openclaw/workspaceAjanın çalışma alanı ve bellek dosyaları$HOME/.openclaw/workspace
/home/node/.config/openclawEski şifreli kimlik bilgileri için anahtar$HOME/.openclaw-auth-profile-secrets
  • 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.

Güncelleme

docker compose pull openclaw-gateway openclaw-cli
docker compose stop openclaw-gateway
docker compose up -d openclaw-gateway

İ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).

Bir OpenClaw sunucusu oluştur.

PlayNHost, OpenClaw Foundation ile bağlantılı değildir. OpenClaw, MIT lisansı altında açık kaynaklı bir yazılımdır.

Sunucunuz başka bir yerde mi? Bize taşıyın

EN YENİ BLOG YAZILARIMIZ