- Podman gateway container’ını çalıştırır.
- Ana makinenizdeki
openclawCLI kontrol düzlemidir. - Kalıcı durum varsayılan olarak ana makinede
~/.openclawaltında tutulur. - Günlük yönetim
sudo -u openclaw,podman execveya ayrı bir servis kullanıcısı yerineopenclaw --container <name> ...kullanır.
Önkoşullar
- Rootless modda Podman
- Ana makinede kurulu OpenClaw CLI
- İsteğe bağlı: Quadlet tarafından yönetilen otomatik başlatma istiyorsanız
systemd --user - İsteğe bağlı: Headless bir ana makinede önyükleme kalıcılığı için
loginctl enable-linger "$(whoami)"istiyorsanız yalnızcasudo
Hızlı başlangıç
Onboarding’i container içinde çalıştırın
./scripts/run-openclaw-podman.sh launch setup komutunu çalıştırın, ardından http://127.0.0.1:18789/ adresini açın../scripts/podman/setup.shvarsayılan olarak rootless Podman deponuzdaopenclaw:localoluşturur veya ayarladıysanızOPENCLAW_IMAGE/OPENCLAW_PODMAN_IMAGEkullanır.- Eksikse
gateway.mode: "local"ile~/.openclaw/openclaw.jsonoluşturur. - Eksikse
OPENCLAW_GATEWAY_TOKENile~/.openclaw/.envoluşturur. - Manuel başlatmalar için yardımcı,
~/.openclaw/.enviçinden yalnızca Podman ile ilgili küçük bir izin listesindeki anahtarları okur ve container’a açık runtime env vars geçirir; tam env dosyasını Podman’a vermez.
OPENCLAW_PODMAN_QUADLET=1 ayarlayabilirsiniz.
İsteğe bağlı build/kurulum env vars:
OPENCLAW_IMAGEveyaOPENCLAW_PODMAN_IMAGE—openclaw:localoluşturmak yerine mevcut/çekilmiş bir imaj kullanOPENCLAW_IMAGE_APT_PACKAGES— imaj build sırasında ek apt paketleri kurar (eskiOPENCLAW_DOCKER_APT_PACKAGESdeğerini de kabul eder)OPENCLAW_IMAGE_PIP_PACKAGES— imaj build sırasında ek Python paketleri kurar; sürümleri sabitleyin ve yalnızca güvendiğiniz paket dizinlerini kullanınOPENCLAW_EXTENSIONS— build zamanında plugin bağımlılıklarını önceden kurarOPENCLAW_INSTALL_BROWSER— tarayıcı otomasyonu için Chromium ve Xvfb’yi önceden kurar (etkinleştirmek için1olarak ayarlayın)
--userns=keep-id kullanarak başlatır ve OpenClaw durumunuzu container’a bind-mount eder.
Onboarding:
http://127.0.0.1:18789/ adresini açın ve ~/.openclaw/.env içindeki token’ı kullanın.
Podman’da model kimlik doğrulaması:
- Kurulum sırasında OpenClaw tarafından yönetilen kimlik doğrulamayı kullanın: Anthropic için Anthropic API anahtarları veya Codex destekli OpenAI için OpenAI Codex tarayıcı OAuth/device-code kimlik doğrulaması.
- Podman başlatıcısı,
~/.claudeveya~/.codexgibi ana makine CLI kimlik bilgisi home dizinlerini kurulum veya gateway container’ına mount etmez. - Mevcut ana makine CLI oturum açmaları aynı ana makine kolaylık yollarıdır. Container kurulumları için sağlayıcı kimlik doğrulamasını, kurulumun yönettiği mount edilmiş
~/.openclawdurumunda tutun.
Podman ve Tailscale
HTTPS veya uzak tarayıcı erişimi için ana Tailscale dokümanlarını izleyin. Podman’a özel not:- Podman publish host değerini
127.0.0.1olarak tutun. openclaw gateway --tailscale serveyerine ana makine tarafından yönetilentailscale servetercih edin.- macOS’te yerel tarayıcı cihaz kimlik doğrulama bağlamı güvenilir değilse geçici yerel tünel geçici çözümleri yerine Tailscale erişimi kullanın.
Systemd (Quadlet, isteğe bağlı)
./scripts/podman/setup.sh --quadlet çalıştırdıysanız kurulum, şu konuma bir Quadlet dosyası yükler:
- Başlat:
systemctl --user start openclaw.service - Durdur:
systemctl --user stop openclaw.service - Durum:
systemctl --user status openclaw.service - Loglar:
journalctl --user -u openclaw.service -f
Config, env ve depolama
- Config dizini:
~/.openclaw - Çalışma alanı dizini:
~/.openclaw/workspace - Token dosyası:
~/.openclaw/.env - Başlatma yardımcısı:
./scripts/run-openclaw-podman.sh
OPENCLAW_CONFIG_DIR->/home/node/.openclawOPENCLAW_WORKSPACE_DIR->/home/node/.openclaw/workspace
openclaw.json, ajan başına auth-profiles.json, kanal/sağlayıcı durumu,
oturumlar ve çalışma alanı container değişiminden sonra da korunur.
Podman kurulumu ayrıca yerel dashboard’un container’ın loopback olmayan bind’i ile çalışması için yayımlanan gateway portunda 127.0.0.1 ve localhost için gateway.controlUi.allowedOrigins değerini başlatır.
Manuel başlatıcı için kullanışlı env vars:
OPENCLAW_PODMAN_CONTAINER— container adı (varsayılanopenclaw)OPENCLAW_PODMAN_IMAGE/OPENCLAW_IMAGE— çalıştırılacak imajOPENCLAW_PODMAN_GATEWAY_HOST_PORT— container18789portuna eşlenen ana makine portuOPENCLAW_PODMAN_BRIDGE_HOST_PORT— container18790portuna eşlenen ana makine portuOPENCLAW_PODMAN_PUBLISH_HOST— yayımlanan portlar için ana makine arayüzü; varsayılan127.0.0.1OPENCLAW_GATEWAY_BIND— container içindeki gateway bind modu; varsayılanlanOPENCLAW_PODMAN_USERNS—keep-id(varsayılan),autoveyahost
~/.openclaw/.env okur; böylece bunları orada kalıcı hale getirebilirsiniz.
Varsayılan olmayan bir OPENCLAW_CONFIG_DIR veya OPENCLAW_WORKSPACE_DIR kullanıyorsanız aynı değişkenleri hem ./scripts/podman/setup.sh hem de sonraki ./scripts/run-openclaw-podman.sh launch komutları için ayarlayın. Repo yerel başlatıcısı, özel yol geçersiz kılmalarını shell’ler arasında kalıcı hale getirmez.
Quadlet notu:
- Oluşturulan Quadlet servisi kasıtlı olarak sabit ve sıkılaştırılmış bir varsayılan şekli korur:
127.0.0.1yayımlanan portlar, container içinde--bind lanvekeep-iduser namespace. OPENCLAW_NO_RESPAWN=1,Restart=on-failureveTimeoutStartSec=300değerlerini sabitler.- Hem
127.0.0.1:18789:18789(gateway) hem de127.0.0.1:18790:18790(bridge) yayımlar. OPENCLAW_GATEWAY_TOKENgibi değerler için runtimeEnvironmentFileolarak~/.openclaw/.envokur, ancak manuel başlatıcının Podman’a özel geçersiz kılma izin listesini tüketmez.- Özel publish portlarına, publish host’a veya başka container-run flag’lerine ihtiyacınız varsa manuel başlatıcıyı kullanın ya da
~/.config/containers/systemd/openclaw.containerdosyasını doğrudan düzenleyin, ardından servisi yeniden yükleyip yeniden başlatın.
Kullanışlı komutlar
- Container logları:
podman logs -f openclaw - Container’ı durdur:
podman stop openclaw - Container’ı kaldır:
podman rm -f openclaw - Ana makine CLI’ından dashboard URL’sini aç:
openclaw dashboard --no-open - Ana makine CLI üzerinden sağlık/durum:
openclaw gateway status --deep(RPC probe + ek servis taraması)
Sorun giderme
- Config veya çalışma alanında izin reddedildi (EACCES): Container varsayılan olarak
--userns=keep-idve--user <your uid>:<your gid>ile çalışır. Ana makine config/çalışma alanı yollarının mevcut kullanıcınıza ait olduğundan emin olun. - Gateway başlatma engellendi (
gateway.mode=localeksik):~/.openclaw/openclaw.jsondosyasının var olduğundan vegateway.mode="local"ayarladığından emin olun.scripts/podman/setup.sheksikse bunu oluşturur. - Container CLI komutları yanlış hedefe gidiyor: Açıkça
openclaw --container <name> ...kullanın veya shell’inizdeOPENCLAW_CONTAINER=<name>dışa aktarın. openclaw update,--containerile başarısız oluyor: Beklenen davranış. İmajı yeniden oluşturun/çekin, ardından container’ı veya Quadlet servisini yeniden başlatın.- Quadlet servisi başlamıyor:
systemctl --user daemon-reloadçalıştırın, ardındansystemctl --user start openclaw.service. Headless sistemlerde ayrıcasudo loginctl enable-linger "$(whoami)"gerekebilir. - SELinux bind mount’ları engelliyor: Varsayılan mount davranışını değiştirmeyin; başlatıcı, SELinux enforcing veya permissive olduğunda Linux’ta otomatik olarak
:Zekler.