Docker (isteğe bağlı)
Docker isteğe bağlıdır. Yalnızca kapsayıcılaştırılmış bir gateway istiyorsanız veya Docker akışını doğrulamak istiyorsanız kullanın.Docker benim için doğru seçim mi?
- Evet: yalıtılmış, geçici bir gateway ortamı istiyorsanız veya OpenClaw’ı yerel kurulum olmadan bir ana makinede çalıştırmak istiyorsanız.
- Hayır: kendi makinenizde çalışıyorsanız ve yalnızca en hızlı geliştirme döngüsünü istiyorsanız. Bunun yerine normal kurulum akışını kullanın.
- Sandboxing notu: agent sandboxing de Docker kullanır, ancak tam gateway’in Docker içinde çalışmasını gerektirmez. Bkz. Sandboxing.
Ön koşullar
- Docker Desktop (veya Docker Engine) + Docker Compose v2
- İmaj derlemesi için en az 2 GB RAM (
pnpm install, 1 GB ana makinelerde 137 çıkış koduyla OOM-killed olabilir) - İmajlar ve günlükler için yeterli disk alanı
- VPS/genel ana makine üzerinde çalıştırıyorsanız
Ağ erişimi için güvenlik sertleştirmesi bölümünü,
özellikle Docker
DOCKER-USERgüvenlik duvarı ilkesini inceleyin.
Kapsayıcılaştırılmış Gateway
İmajı derleyin
Depo kökünden kurulum betiğini çalıştırın:Bu, gateway imajını yerel olarak derler. Bunun yerine önceden derlenmiş bir imaj kullanmak için:Önceden derlenmiş imajlar
GitHub Container Registry üzerinde yayımlanır.
Yaygın etiketler:
main, latest, <version> (ör. 2026.2.26).Onboarding'i tamamlayın
Kurulum betiği onboarding’i otomatik olarak çalıştırır. Şunları yapar:
- sağlayıcı API anahtarlarını ister
- bir gateway token’ı üretir ve bunu
.enviçine yazar - gateway’i Docker Compose ile başlatır
openclaw-gateway üzerinden çalışır. openclaw-cli, yalnızca
gateway kapsayıcısı zaten var olduktan sonra çalıştırdığınız komutlar içindir.Control UI'yi açın
Tarayıcınızda
http://127.0.0.1:18789/ adresini açın ve yapılandırılmış
paylaşılan gizli bilgiyi Ayarlar içine yapıştırın. Kurulum betiği varsayılan
olarak .env içine bir token yazar; kapsayıcı config’ini parola auth’una geçirirseniz
onun yerine bu parolayı kullanın.URL’ye tekrar mı ihtiyacınız var?El ile akış
Kurulum betiğini kullanmak yerine her adımı kendiniz çalıştırmayı tercih ediyorsanız:docker compose komutunu depo kökünden çalıştırın. OPENCLAW_EXTRA_MOUNTS
veya OPENCLAW_HOME_VOLUME etkinleştirdiyseniz kurulum betiği docker-compose.extra.yml yazar;
bunu -f docker-compose.yml -f docker-compose.extra.yml ile dahil edin.openclaw-cli, openclaw-gateway ağ ad alanını paylaştığı için
başlatma sonrası bir araçtır. docker compose up -d openclaw-gateway öncesinde onboarding
ve kurulum zamanı config yazımlarını openclaw-gateway üzerinden
--no-deps --entrypoint node ile çalıştırın.Ortam değişkenleri
Kurulum betiği şu isteğe bağlı ortam değişkenlerini kabul eder:| Değişken | Amaç |
|---|---|
OPENCLAW_IMAGE | Yerel derleme yerine uzak bir imaj kullanır |
OPENCLAW_DOCKER_APT_PACKAGES | Derleme sırasında ek apt paketleri kurar (boşlukla ayrılmış) |
OPENCLAW_EXTENSIONS | Derleme zamanında uzantı bağımlılıklarını önceden kurar (boşlukla ayrılmış adlar) |
OPENCLAW_EXTRA_MOUNTS | Ek ana makine bind mount’ları (virgülle ayrılmış source:target[:opts]) |
OPENCLAW_HOME_VOLUME | /home/node dizinini adlandırılmış bir Docker volume içinde kalıcı hale getirir |
OPENCLAW_SANDBOX | Sandbox bootstrap kullanımına açıkça izin verir (1, true, yes, on) |
OPENCLAW_DOCKER_SOCKET | Docker soketi yolunu geçersiz kılar |
Sağlık denetimleri
Kapsayıcı yoklama uç noktaları (auth gerekmez):/healthz uç noktasını yoklayan yerleşik bir HEALTHCHECK içerir.
Denetimler sürekli başarısız olursa Docker kapsayıcıyı unhealthy olarak işaretler ve
orkestrasyon sistemleri bunu yeniden başlatabilir veya değiştirebilir.
Auth gerektiren ayrıntılı sağlık anlık görüntüsü:
LAN ve loopback
scripts/docker/setup.sh, Docker bağlantı noktası yayımlamasıyla
ana makineden http://127.0.0.1:18789 erişimi çalışsın diye varsayılan olarak OPENCLAW_GATEWAY_BIND=lan ayarlar.
lan(varsayılan): ana makine tarayıcısı ve ana makine CLI’si yayımlanmış gateway bağlantı noktasına erişebilir.loopback: yalnızca kapsayıcı ağ ad alanı içindeki süreçler doğrudan gateway’e erişebilir.
0.0.0.0 veya 127.0.0.1 gibi ana makine takma adlarını değil,
gateway.bind içindeki bağlama modu değerlerini (lan / loopback / custom /
tailnet / auto) kullanın.Depolama ve kalıcılık
Docker Compose,OPENCLAW_CONFIG_DIR dizinini /home/node/.openclaw yoluna ve
OPENCLAW_WORKSPACE_DIR dizinini /home/node/.openclaw/workspace yoluna bind-mount eder; bu yüzden bu yollar
kapsayıcı değiştirildiğinde korunur.
Bu bağlı config dizini, OpenClaw’ın şunları tuttuğu yerdir:
- davranış config’i için
openclaw.json - saklanan sağlayıcı OAuth/API-key auth’u için
agents/<agentId>/agent/auth-profiles.json OPENCLAW_GATEWAY_TOKENgibi env tabanlı çalışma zamanı gizli bilgileri için.env
media/, oturum JSONL dosyaları, cron/runs/*.jsonl
ve /tmp/openclaw/ altındaki dönen dosya günlüklerini izleyin.
Shell yardımcıları (isteğe bağlı)
Günlük Docker yönetimini kolaylaştırmak içinClawDock kurun:
scripts/shell-helpers/clawdock-helpers.sh ham yolundan kurduysanız yerel yardımcı dosyanızın yeni konumu izlemesi için yukarıdaki kurulum komutunu yeniden çalıştırın.
Ardından clawdock-start, clawdock-stop, clawdock-dashboard vb. kullanın.
Tüm komutlar için clawdock-help çalıştırın.
Tam yardımcı kılavuzu için ClawDock bölümüne bakın.
Docker gateway için agent sandbox'ı etkinleştirme
Docker gateway için agent sandbox'ı etkinleştirme
docker.sock dosyasını bağlar.
Sandbox kurulumu tamamlanamazsa betik agents.defaults.sandbox.mode
değerini off olarak sıfırlar.Otomasyon / CI (etkileşimsiz)
Otomasyon / CI (etkileşimsiz)
Compose sözde-TTY ayırmayı
-T ile devre dışı bırakın:Paylaşılan ağ güvenlik notu
Paylaşılan ağ güvenlik notu
openclaw-cli, CLI
komutlarının 127.0.0.1 üzerinden gateway’e erişebilmesi için network_mode: "service:openclaw-gateway" kullanır.
Bunu paylaşılan bir güven sınırı olarak değerlendirin. Compose config’i NET_RAW/NET_ADMIN yetkilerini kaldırır ve
openclaw-cli üzerinde no-new-privileges etkinleştirir.İzinler ve EACCES
İzinler ve EACCES
İmaj
node (uid 1000) olarak çalışır. Eğer
/home/node/.openclaw üzerinde izin hataları görüyorsanız ana makine bind mount’larınızın uid 1000 sahibi olduğundan emin olun:Daha hızlı yeniden derlemeler
Daha hızlı yeniden derlemeler
Dockerfile’ınızı bağımlılık katmanları önbelleğe alınacak şekilde sıralayın. Bu,
kilit dosyaları değişmediği sürece
pnpm install komutunun yeniden çalıştırılmasını önler:İleri düzey kullanıcı kapsayıcı seçenekleri
İleri düzey kullanıcı kapsayıcı seçenekleri
Varsayılan imaj güvenlik önceliklidir ve root olmayan
node kullanıcısı olarak çalışır. Daha
tam özellikli bir kapsayıcı için:/home/nodekalıcı hale getirin:export OPENCLAW_HOME_VOLUME="openclaw_home"- Sistem bağımlılıklarını imaja ekleyin:
export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq" - Playwright tarayıcılarını kurun:
- Tarayıcı indirmelerini kalıcı hale getirin: şunu ayarlayın
PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwrightveOPENCLAW_HOME_VOLUMEveyaOPENCLAW_EXTRA_MOUNTSkullanın.
OpenAI Codex OAuth (headless Docker)
OpenAI Codex OAuth (headless Docker)
Sihirbazda OpenAI Codex OAuth seçerseniz bir tarayıcı URL’si açılır. Docker veya headless kurulumlarda ulaştığınız tam yönlendirme URL’sini kopyalayın ve auth’u tamamlamak için
sihirbaza geri yapıştırın.
Temel imaj meta verileri
Temel imaj meta verileri
Ana Docker imajı
node:24-bookworm kullanır ve
org.opencontainers.image.base.name,
org.opencontainers.image.source ve diğerlerini içeren OCI temel imaj ek açıklamalarını yayımlar. Bkz.
OCI image annotations.VPS üzerinde mi çalıştırıyorsunuz?
İkili hazırlama, kalıcılık ve güncellemeler dahil paylaşılan VM dağıtım adımları için Hetzner (Docker VPS) ve Docker VM Runtime bölümlerine bakın.Agent Sandbox
agents.defaults.sandbox etkin olduğunda gateway, agent araç yürütmesini
(shell, dosya okuma/yazma vb.) yalıtılmış Docker kapsayıcıları içinde çalıştırırken
gateway’in kendisi ana makinede kalır. Bu size güvenilmeyen veya
çok kiracılı agent oturumları etrafında sert bir sınır sağlar; tüm gateway’i kapsayıcılaştırmanız gerekmez.
Sandbox kapsamı agent başına (varsayılan), oturum başına veya paylaşılan olabilir. Her kapsam
/workspace üzerine bağlı kendi çalışma alanını alır. Ayrıca
izin/verme aracı ilkeleri, ağ yalıtımı, kaynak sınırları ve tarayıcı kapsayıcıları da yapılandırabilirsiniz.
Tam config, imajlar, güvenlik notları ve çok agent’lı profiller için bkz.:
- Sandboxing — tam sandbox başvurusu
- OpenShell — sandbox kapsayıcılarına etkileşimli shell erişimi
- Multi-Agent Sandbox and Tools — agent başına geçersiz kılmalar
Hızlı etkinleştirme
Sorun Giderme
İmaj eksik veya sandbox kapsayıcısı başlamıyor
İmaj eksik veya sandbox kapsayıcısı başlamıyor
Sandbox imajını
scripts/sandbox-setup.sh
ile derleyin veya agents.defaults.sandbox.docker.image değerini özel imajınıza ayarlayın.
Kapsayıcılar istek üzerine oturum başına otomatik oluşturulur.Sandbox içinde izin hataları
Sandbox içinde izin hataları
docker.user değerini bağlı çalışma alanı sahipliğiyle eşleşen bir UID:GID olarak ayarlayın
veya çalışma alanı klasörünün sahibini değiştirin.Özel araçlar sandbox içinde bulunamıyor
Özel araçlar sandbox içinde bulunamıyor
OpenClaw komutları
sh -lc ile (login shell) çalıştırır; bu
/etc/profile dosyasını yükler ve PATH değerini sıfırlayabilir. Özel araç yollarınızı
başa eklemek için docker.env.PATH ayarlayın veya Dockerfile içinde /etc/profile.d/ altına bir betik ekleyin.İmaj derlemesi sırasında OOM-killed (çıkış 137)
İmaj derlemesi sırasında OOM-killed (çıkış 137)
VM en az 2 GB RAM gerektirir. Daha büyük bir makine sınıfı kullanın ve tekrar deneyin.
Control UI içinde Unauthorized veya pairing required
Control UI içinde Unauthorized veya pairing required
Gateway hedefi Docker CLI'den ws://172.x.x.x veya pairing errors gösteriyor
Gateway hedefi Docker CLI'den ws://172.x.x.x veya pairing errors gösteriyor
Gateway modunu ve bağlamayı sıfırlayın:
İlgili
- Install Overview — tüm kurulum yöntemleri
- Podman — Docker için Podman alternatifi
- ClawDock — Docker Compose topluluk kurulumu
- Updating — OpenClaw’ı güncel tutma
- Configuration — kurulum sonrası gateway config’i