From ad2af3a8188324f3fd564e4bb4f3e75df72f24a1 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 29 Apr 2026 00:43:25 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/install/docker.md | 348 +++++++++++++++++++------------------- 1 file changed, 176 insertions(+), 172 deletions(-) diff --git a/docs/uk/install/docker.md b/docs/uk/install/docker.md index e8a97b33e..f0c6c44a7 100644 --- a/docs/uk/install/docker.md +++ b/docs/uk/install/docker.md @@ -2,33 +2,33 @@ read_when: - Вам потрібен контейнеризований Gateway замість локальних встановлень - Ви перевіряєте процес Docker -summary: Необов’язкове налаштування та онбординг OpenClaw на основі Docker +summary: Необов’язкове налаштування й онбординг OpenClaw на основі Docker title: Docker x-i18n: - generated_at: "2026-04-28T22:58:33Z" + generated_at: "2026-04-29T00:42:23Z" model: gpt-5.5 provider: openai - source_hash: 71027022ab9fe1c5a14aa67f0e3edabb0e2aa3c668752637caef49bab5a591de + source_hash: c67a6351afb09961ff3b2e95a132acff7f33b02d3b67330d4608c46e3c18f63a source_path: install/docker.md workflow: 16 --- -Docker є **необов'язковим**. Використовуйте його лише якщо вам потрібен контейнеризований Gateway або потрібно перевірити Docker-процес. +Docker є **необов’язковим**. Використовуйте його лише якщо вам потрібен контейнеризований Gateway або перевірка Docker-потоку. ## Чи підходить мені Docker? -- **Так**: вам потрібне ізольоване одноразове середовище Gateway або запуск OpenClaw на хості без локальних встановлень. -- **Ні**: ви працюєте на власному комп'ютері й хочете лише найшвидший цикл розробки. Натомість використовуйте звичайний процес встановлення. -- **Примітка щодо ізоляції**: стандартний бекенд ізоляції використовує Docker, коли ізоляцію ввімкнено, але ізоляцію вимкнено за замовчуванням і вона **не** вимагає запуску всього Gateway у Docker. Також доступні бекенди ізоляції SSH і OpenShell. Див. [Ізоляція](/uk/gateway/sandboxing). +- **Так**: вам потрібне ізольоване, одноразове середовище Gateway або запуск OpenClaw на хості без локальних встановлень. +- **Ні**: ви запускаєте на власній машині й просто хочете найшвидший цикл розробки. Натомість скористайтеся звичайним потоком встановлення. +- **Примітка щодо ізоляції**: стандартний бекенд ізоляції використовує Docker, коли ізоляцію ввімкнено, але ізоляція вимкнена за замовчуванням і **не** потребує запуску всього Gateway у Docker. Також доступні бекенди ізоляції SSH і OpenShell. Див. [Ізоляція](/uk/gateway/sandboxing). ## Передумови - Docker Desktop (або Docker Engine) + Docker Compose v2 -- Щонайменше 2 ГБ RAM для збирання образу (`pnpm install` може бути примусово завершено через OOM на хостах з 1 ГБ з кодом виходу 137) -- Достатньо дискового простору для образів і журналів +- Щонайменше 2 ГБ RAM для складання образу (`pnpm install` може бути завершено через OOM на хостах з 1 ГБ з кодом виходу 137) +- Достатньо місця на диску для образів і журналів - Якщо запускаєте на VPS/публічному хості, перегляньте [Посилення безпеки для мережевого доступу](/uk/gateway/security), - особливо політику Docker `DOCKER-USER` для брандмауера. + особливо політику firewall Docker `DOCKER-USER`. ## Контейнеризований Gateway @@ -53,24 +53,24 @@ Docker є **необов'язковим**. Використовуйте його - - Скрипт налаштування автоматично запускає онбординг. Він: + + Скрипт налаштування автоматично запускає onboarding. Він: - - запросить API-ключі провайдера + - попросить API-ключі провайдера - згенерує токен Gateway і запише його в `.env` - запустить Gateway через Docker Compose - Під час налаштування онбординг перед запуском і записи конфігурації виконуються напряму через - `openclaw-gateway`. `openclaw-cli` призначений для команд, які ви запускаєте після того, + Під час налаштування onboarding перед стартом і записи конфігурації виконуються через + `openclaw-gateway` напряму. `openclaw-cli` призначений для команд, які ви запускаєте після того, як контейнер Gateway уже існує. - Відкрийте `http://127.0.0.1:18789/` у браузері й вставте налаштований + Відкрийте `http://127.0.0.1:18789/` у браузері та вставте налаштований спільний секрет у Settings. Скрипт налаштування за замовчуванням записує токен у `.env`; - якщо ви перемкнете конфігурацію контейнера на автентифікацію паролем, використовуйте натомість - цей пароль. + якщо ви перемкнете конфігурацію контейнера на автентифікацію паролем, використовуйте + натомість цей пароль. Потрібна URL-адреса ще раз? @@ -80,7 +80,7 @@ Docker є **необов'язковим**. Використовуйте його - + Використовуйте контейнер CLI, щоб додати канали обміну повідомленнями: ```bash @@ -99,9 +99,9 @@ Docker є **необов'язковим**. Використовуйте його -### Ручний процес +### Ручний потік -Якщо ви бажаєте запускати кожен крок самостійно замість використання скрипта налаштування: +Якщо ви віддаєте перевагу самостійному запуску кожного кроку замість використання скрипта налаштування: ```bash docker build -t openclaw:local -f Dockerfile . @@ -119,47 +119,47 @@ docker compose up -d openclaw-gateway -Оскільки `openclaw-cli` використовує простір імен мережі `openclaw-gateway`, це -інструмент після запуску. Перед `docker compose up -d openclaw-gateway` запускайте онбординг +Оскільки `openclaw-cli` спільно використовує мережевий простір імен `openclaw-gateway`, це +інструмент після старту. Перед `docker compose up -d openclaw-gateway` запускайте onboarding і записи конфігурації під час налаштування через `openclaw-gateway` з `--no-deps --entrypoint node`. ### Змінні середовища -Скрипт налаштування приймає такі необов'язкові змінні середовища: +Скрипт налаштування приймає такі необов’язкові змінні середовища: | Змінна | Призначення | | ----------------------------------------- | --------------------------------------------------------------- | -| `OPENCLAW_IMAGE` | Використати віддалений образ замість локального збирання | -| `OPENCLAW_DOCKER_APT_PACKAGES` | Встановити додаткові пакети apt під час збирання (через пробіл) | -| `OPENCLAW_EXTENSIONS` | Попередньо встановити залежності Plugin під час збирання (назви через пробіл) | +| `OPENCLAW_IMAGE` | Використати віддалений образ замість локального складання | +| `OPENCLAW_DOCKER_APT_PACKAGES` | Встановити додаткові пакунки apt під час складання (розділені пробілами) | +| `OPENCLAW_EXTENSIONS` | Попередньо встановити залежності Plugin під час складання (імена, розділені пробілами) | | `OPENCLAW_EXTRA_MOUNTS` | Додаткові bind mounts хоста (розділені комами `source:target[:opts]`) | | `OPENCLAW_HOME_VOLUME` | Зберігати `/home/node` в іменованому томі Docker | -| `OPENCLAW_PLUGIN_STAGE_DIR` | Шлях контейнера для згенерованих залежностей і дзеркал bundled Plugin | +| `OPENCLAW_PLUGIN_STAGE_DIR` | Шлях контейнера для згенерованих залежностей bundled Plugin і дзеркал | | `OPENCLAW_SANDBOX` | Увімкнути bootstrap ізоляції (`1`, `true`, `yes`, `on`) | -| `OPENCLAW_SKIP_ONBOARDING` | Пропустити інтерактивний крок онбордингу (`1`, `true`, `yes`, `on`) | +| `OPENCLAW_SKIP_ONBOARDING` | Пропустити інтерактивний крок onboarding (`1`, `true`, `yes`, `on`) | | `OPENCLAW_DOCKER_SOCKET` | Перевизначити шлях до сокета Docker | | `OPENCLAW_DISABLE_BONJOUR` | Вимкнути рекламу Bonjour/mDNS (за замовчуванням `1` для Docker) | -| `OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS` | Вимкнути bind-mount overlays джерельного коду bundled Plugin | +| `OPENCLAW_DISABLE_BUNDLED_SOURCE_OVERLAYS` | Вимкнути накладення bind-mount для вихідного коду bundled Plugin | | `OTEL_EXPORTER_OTLP_ENDPOINT` | Спільна кінцева точка колектора OTLP/HTTP для експорту OpenTelemetry | -| `OTEL_EXPORTER_OTLP_*_ENDPOINT` | Сигнально-специфічні кінцеві точки OTLP для трас, метрик або журналів | +| `OTEL_EXPORTER_OTLP_*_ENDPOINT` | Кінцеві точки OTLP для окремих сигналів: трас, метрик або журналів | | `OTEL_EXPORTER_OTLP_PROTOCOL` | Перевизначення протоколу OTLP. Наразі підтримується лише `http/protobuf` | | `OTEL_SERVICE_NAME` | Назва сервісу, що використовується для ресурсів OpenTelemetry | | `OTEL_SEMCONV_STABILITY_OPT_IN` | Увімкнути найновіші експериментальні семантичні атрибути GenAI | -| `OPENCLAW_OTEL_PRELOADED` | Пропустити запуск другого OpenTelemetry SDK, коли один уже попередньо завантажено | +| `OPENCLAW_OTEL_PRELOADED` | Пропустити запуск другого OpenTelemetry SDK, коли один уже попередньо завантажений | -Мейнтейнери можуть перевіряти джерельний код bundled Plugin проти упакованого образу, монтувавши -один каталог джерельного коду Plugin поверх його упакованого шляху джерельного коду, наприклад +Maintainers можуть тестувати вихідний код bundled Plugin проти упакованого образу, змонтувавши +один каталог вихідного коду Plugin поверх його упакованого шляху вихідного коду, наприклад `OPENCLAW_EXTRA_MOUNTS=/path/to/fork/extensions/synology-chat:/app/extensions/synology-chat:ro`. -Цей змонтований каталог джерельного коду перевизначає відповідний скомпільований -bundle `/app/dist/extensions/synology-chat` для того самого id Plugin. +Цей змонтований каталог вихідного коду перевизначає відповідний скомпільований bundle +`/app/dist/extensions/synology-chat` для того самого Plugin id. ### Спостережуваність -Експорт OpenTelemetry є вихідним з контейнера Gateway до вашого -колектора OTLP. Він не потребує опублікованого порту Docker. Якщо ви збираєте образ -локально й хочете, щоб bundled exporter OpenTelemetry був доступний всередині образу, +Експорт OpenTelemetry є вихідним з контейнера Gateway до вашого колектора OTLP. +Він не потребує опублікованого порту Docker. Якщо ви збираєте образ +локально й хочете, щоб bundled експортер OpenTelemetry був доступний усередині образу, додайте його runtime-залежності: ```bash @@ -169,41 +169,41 @@ export OTEL_SERVICE_NAME="openclaw-gateway" ./scripts/docker/setup.sh ``` -Офіційний release-образ Docker OpenClaw містить джерельний код bundled +Офіційний Docker-образ релізу OpenClaw містить вихідний код bundled Plugin `diagnostics-otel`. Залежно від образу та стану кешу, -Gateway все ще може підготувати локальні для Plugin runtime-залежності OpenTelemetry під час -першого ввімкнення Plugin, тому дозвольте цьому першому запуску дістатися до реєстру пакетів -або попередньо прогрійте образ у вашій release-лінії. Щоб увімкнути експорт, дозвольте й -увімкніть Plugin `diagnostics-otel` у конфігурації, потім установіть -`diagnostics.otel.enabled=true` або використайте приклад конфігурації в +Gateway все ще може підготувати локальні runtime-залежності OpenTelemetry для Plugin +під час першого ввімкнення Plugin, тому дозвольте першому завантаженню дістатися до реєстру +пакунків або попередньо прогрійте образ у вашій релізній lane. Щоб увімкнути експорт, дозвольте та +ввімкніть Plugin `diagnostics-otel` у конфігурації, потім задайте +`diagnostics.otel.enabled=true` або скористайтеся прикладом конфігурації в [Експорт OpenTelemetry](/uk/gateway/opentelemetry). Заголовки автентифікації колектора налаштовуються через `diagnostics.otel.headers`, а не через змінні середовища Docker. Метрики Prometheus використовують уже опублікований порт Gateway. Увімкніть -Plugin `diagnostics-prometheus`, потім виконуйте scrape: +Plugin `diagnostics-prometheus`, потім виконайте scrape: ```text http://:18789/api/diagnostics/prometheus ``` -Маршрут захищено автентифікацією Gateway. Не відкривайте окремий +Маршрут захищений автентифікацією Gateway. Не відкривайте окремий публічний порт `/metrics` або неавтентифікований шлях reverse-proxy. Див. [Метрики Prometheus](/uk/gateway/prometheus). ### Перевірки стану -Кінцеві точки probe контейнера (автентифікація не потрібна): +Кінцеві точки probes контейнера (автентифікація не потрібна): ```bash curl -fsS http://127.0.0.1:18789/healthz # liveness curl -fsS http://127.0.0.1:18789/readyz # readiness ``` -Образ Docker містить вбудований `HEALTHCHECK`, який звертається до `/healthz`. -Якщо перевірки постійно не проходять, Docker позначає контейнер як `unhealthy`, а +Docker-образ містить вбудований `HEALTHCHECK`, який звертається до `/healthz`. +Якщо перевірки продовжують падати, Docker позначає контейнер як `unhealthy`, а системи оркестрації можуть перезапустити або замінити його. -Автентифікований глибокий знімок стану: +Автентифікований глибокий snapshot стану: ```bash docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLAW_GATEWAY_TOKEN" @@ -212,11 +212,11 @@ docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLA ### LAN проти loopback `scripts/docker/setup.sh` за замовчуванням задає `OPENCLAW_GATEWAY_BIND=lan`, щоб доступ хоста до -`http://127.0.0.1:18789` працював із публікацією порту Docker. +`http://127.0.0.1:18789` працював з публікацією портів Docker. - `lan` (за замовчуванням): браузер хоста й CLI хоста можуть звертатися до опублікованого порту Gateway. -- `loopback`: лише процеси всередині простору імен мережі контейнера можуть звертатися - до Gateway напряму. +- `loopback`: лише процеси всередині мережевого простору імен контейнера можуть + звертатися до Gateway напряму. Використовуйте значення режиму bind у `gateway.bind` (`lan` / `loopback` / `custom` / @@ -225,21 +225,21 @@ docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLA ### Локальні провайдери хоста -Коли OpenClaw працює в Docker, `127.0.0.1` всередині контейнера є самим контейнером, +Коли OpenClaw працює в Docker, `127.0.0.1` усередині контейнера є самим контейнером, а не вашою хост-машиною. Використовуйте `host.docker.internal` для AI-провайдерів, які працюють на хості: -| Провайдер | Стандартна URL-адреса хоста | URL-адреса налаштування Docker | -| --------- | --------------------------- | ------------------------------ | +| Провайдер | Стандартна URL-адреса хоста | URL-адреса для налаштування Docker | +| --------- | --------------------------- | ---------------------------------- | | LM Studio | `http://127.0.0.1:1234` | `http://host.docker.internal:1234` | | Ollama | `http://127.0.0.1:11434` | `http://host.docker.internal:11434` | -Bundled налаштування Docker використовує ці URL-адреси хоста як стандартні значення онбордингу -LM Studio та Ollama, а `docker-compose.yml` зіставляє `host.docker.internal` із +Bundled налаштування Docker використовує ці URL-адреси хоста як стандартні значення onboarding +для LM Studio та Ollama, а `docker-compose.yml` відображає `host.docker.internal` на host gateway Docker для Linux Docker Engine. Docker Desktop уже надає -те саме ім'я хоста на macOS і Windows. +таке саме ім’я хоста на macOS і Windows. -Сервіси хоста також мають слухати адресу, доступну з Docker: +Сервіси хоста також мають слухати на адресі, доступній з Docker: ```bash lms server start --port 1234 --bind 0.0.0.0 @@ -252,71 +252,75 @@ OLLAMA_HOST=0.0.0.0:11434 ollama serve ### Bonjour / mDNS -Bridge-мережа Docker зазвичай ненадійно пересилає multicast Bonjour/mDNS -(`224.0.0.251:5353`). Тому bundled налаштування Compose за замовчуванням задає -`OPENCLAW_DISABLE_BONJOUR=1`, щоб Gateway не потрапляв у crash-loop або не перезапускав +Мережа Docker bridge зазвичай не пересилає multicast Bonjour/mDNS +(`224.0.0.251:5353`) надійно. Тому bundled налаштування Compose за замовчуванням задає +`OPENCLAW_DISABLE_BONJOUR=1`, щоб Gateway не потрапляв у crash-loop і не перезапускав рекламу повторно, коли bridge відкидає multicast-трафік. -Для Docker-хостів використовуйте опубліковану URL-адресу Gateway, Tailscale або wide-area DNS-SD. -Установлюйте `OPENCLAW_DISABLE_BONJOUR=0` лише під час запуску з host networking, macvlan +Використовуйте опубліковану URL-адресу Gateway, Tailscale або wide-area DNS-SD для Docker-хостів. +Задавайте `OPENCLAW_DISABLE_BONJOUR=0` лише під час запуску з host networking, macvlan або іншою мережею, де multicast mDNS гарантовано працює. -Підводні камені й усунення несправностей див. у [Виявлення Bonjour](/uk/gateway/bonjour). +Про нюанси й усунення неполадок див. [Виявлення Bonjour](/uk/gateway/bonjour). -### Сховище та сталість +### Сховище та збереження даних Docker Compose bind-mounts `OPENCLAW_CONFIG_DIR` до `/home/node/.openclaw` і `OPENCLAW_WORKSPACE_DIR` до `/home/node/.openclaw/workspace`, тому ці шляхи -зберігаються після заміни контейнера. +зберігаються після заміни контейнера. Коли будь-яка зі змінних не задана, bundled +`docker-compose.yml` повертається до `${HOME}/.openclaw` (і +`${HOME}/.openclaw/workspace` для монтування workspace) або до `/tmp/.openclaw`, +коли сам `HOME` також відсутній. Це не дає `docker compose up` +створювати специфікацію тому з порожнім source у мінімальних середовищах. У цьому змонтованому каталозі конфігурації OpenClaw зберігає: - `openclaw.json` для конфігурації поведінки -- `agents//agent/auth-profiles.json` для збереженої OAuth/API-key автентифікації провайдера -- `.env` для runtime-секретів із середовища, таких як `OPENCLAW_GATEWAY_TOKEN` +- `agents//agent/auth-profiles.json` для збереженої автентифікації провайдерів OAuth/API-key +- `.env` для runtime-секретів на основі env, таких як `OPENCLAW_GATEWAY_TOKEN` -Bundled runtime-залежності Plugin і дзеркальовані runtime-файли є згенерованим -станом, а не користувацькою конфігурацією. Compose зберігає їх в іменованому томі Docker -`openclaw-plugin-runtime-deps`, змонтованому в -`/var/lib/openclaw/plugin-runtime-deps`. Винесення цього дерева з великою кількістю змін за межі -bind mount конфігурації хоста запобігає повільним файловим операціям Docker Desktop/WSL і застарілим -дескрипторам Windows під час холодного запуску Gateway. +Bundled plugin runtime dependencies and mirrored runtime files are generated +state, not user config. Compose stores them in the named Docker volume +`openclaw-plugin-runtime-deps` mounted at +`/var/lib/openclaw/plugin-runtime-deps`. Keeping that high-churn tree out of the +host config bind mount avoids slow Docker Desktop/WSL file operations and stale +Windows handles during cold Gateway startup. -Стандартний файл Compose задає `OPENCLAW_PLUGIN_STAGE_DIR` на цей шлях як для -`openclaw-gateway`, так і для `openclaw-cli`, тому `openclaw doctor --fix`, команди -входу/налаштування каналів і запуск Gateway використовують той самий згенерований -том середовища виконання. +The default Compose file sets `OPENCLAW_PLUGIN_STAGE_DIR` to that path for both +`openclaw-gateway` and `openclaw-cli`, so `openclaw doctor --fix`, channel +login/setup commands, and Gateway startup all use the same generated runtime +volume. -Повні відомості про сталість даних у розгортаннях VM див. -[Середовище виконання Docker VM - що де зберігається](/uk/install/docker-vm-runtime#what-persists-where). +For full persistence details on VM deployments, see +[Docker VM Runtime - What persists where](/uk/install/docker-vm-runtime#what-persists-where). -**Гарячі точки зростання диска:** стежте за `media/`, файлами JSONL сесій, `cron/runs/*.jsonl`, -томом Docker `openclaw-plugin-runtime-deps` і ротаційними файловими журналами в +**Disk growth hotspots:** watch `media/`, session JSONL files, `cron/runs/*.jsonl`, +the `openclaw-plugin-runtime-deps` Docker volume, and rolling file logs under `/tmp/openclaw/`. -### Допоміжні shell-скрипти (необов'язково) +### Shell helpers (optional) -Для простішого щоденного керування Docker встановіть `ClawDock`: +For easier day-to-day Docker management, install `ClawDock`: ```bash mkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/openclaw/main/scripts/clawdock/clawdock-helpers.sh -o ~/.clawdock/clawdock-helpers.sh echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc ``` -Якщо ви встановили ClawDock зі старого raw-шляху `scripts/shell-helpers/clawdock-helpers.sh`, повторно виконайте наведену вище команду встановлення, щоб ваш локальний допоміжний файл відстежував нове розташування. +If you installed ClawDock from the older `scripts/shell-helpers/clawdock-helpers.sh` raw path, rerun the install command above so your local helper file tracks the new location. -Потім використовуйте `clawdock-start`, `clawdock-stop`, `clawdock-dashboard` тощо. Запустіть -`clawdock-help`, щоб переглянути всі команди. -Повний посібник із допоміжних скриптів див. у [ClawDock](/uk/install/clawdock). +Then use `clawdock-start`, `clawdock-stop`, `clawdock-dashboard`, etc. Run +`clawdock-help` for all commands. +See [ClawDock](/uk/install/clawdock) for the full helper guide. - + ```bash export OPENCLAW_SANDBOX=1 ./scripts/docker/setup.sh ``` - Власний шлях до сокета (наприклад, rootless Docker): + Custom socket path (e.g. rootless Docker): ```bash export OPENCLAW_SANDBOX=1 @@ -324,14 +328,14 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc ./scripts/docker/setup.sh ``` - Скрипт монтує `docker.sock` лише після успішної перевірки передумов пісочниці. Якщо - налаштування пісочниці не може завершитися, скрипт скидає `agents.defaults.sandbox.mode` - на `off`. + The script mounts `docker.sock` only after sandbox prerequisites pass. If + sandbox setup cannot complete, the script resets `agents.defaults.sandbox.mode` + to `off`. - - Вимкніть виділення псевдо-TTY Compose за допомогою `-T`: + + Disable Compose pseudo-TTY allocation with `-T`: ```bash docker compose run -T --rm openclaw-cli gateway probe @@ -340,16 +344,16 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - - `openclaw-cli` використовує `network_mode: "service:openclaw-gateway"`, щоб команди CLI - могли звертатися до gateway через `127.0.0.1`. Розглядайте це як спільну - межу довіри. Конфігурація compose скидає `NET_RAW`/`NET_ADMIN` і вмикає - `no-new-privileges` для `openclaw-cli`. + + `openclaw-cli` uses `network_mode: "service:openclaw-gateway"` so CLI + commands can reach the gateway over `127.0.0.1`. Treat this as a shared + trust boundary. The compose config drops `NET_RAW`/`NET_ADMIN` and enables + `no-new-privileges` on `openclaw-cli`. - - Образ запускається як `node` (uid 1000). Якщо ви бачите помилки дозволів для - `/home/node/.openclaw`, переконайтеся, що bind-монтування на хості належать uid 1000: + + The image runs as `node` (uid 1000). If you see permission errors on + `/home/node/.openclaw`, make sure your host bind mounts are owned by uid 1000: ```bash sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace @@ -357,9 +361,9 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - - Упорядкуйте Dockerfile так, щоб шари залежностей кешувалися. Це дає змогу не запускати - `pnpm install` повторно, якщо lock-файли не змінилися: + + Order your Dockerfile so dependency layers are cached. This avoids re-running + `pnpm install` unless lockfiles change: ```dockerfile FROM node:24-bookworm @@ -381,65 +385,65 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc - - Стандартний образ орієнтований передусім на безпеку й запускається як непривілейований `node`. Для - функціональнішого контейнера: + + The default image is security-first and runs as non-root `node`. For a more + full-featured container: - 1. **Зберігайте `/home/node` стало**: `export OPENCLAW_HOME_VOLUME="openclaw_home"` - 2. **Вбудуйте системні залежності**: `export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq"` - 3. **Установіть браузери Playwright**: + 1. **Persist `/home/node`**: `export OPENCLAW_HOME_VOLUME="openclaw_home"` + 2. **Bake system deps**: `export OPENCLAW_DOCKER_APT_PACKAGES="git curl jq"` + 3. **Install Playwright browsers**: ```bash docker compose run --rm openclaw-cli \ node /app/node_modules/playwright-core/cli.js install chromium ``` - 4. **Зберігайте завантаження браузерів стало**: задайте - `PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright` і використовуйте - `OPENCLAW_HOME_VOLUME` або `OPENCLAW_EXTRA_MOUNTS`. + 4. **Persist browser downloads**: set + `PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright` and use + `OPENCLAW_HOME_VOLUME` or `OPENCLAW_EXTRA_MOUNTS`. - Якщо ви виберете OpenAI Codex OAuth у майстрі, він відкриє URL браузера. У - Docker або headless-налаштуваннях скопіюйте повну URL-адресу перенаправлення, на яку ви потрапите, і вставте - її назад у майстер, щоб завершити автентифікацію. + If you pick OpenAI Codex OAuth in the wizard, it opens a browser URL. In + Docker or headless setups, copy the full redirect URL you land on and paste + it back into the wizard to finish auth. - - Основний Docker-образ середовища виконання використовує `node:24-bookworm-slim` і публікує OCI - анотації базового образу, зокрема `org.opencontainers.image.base.name`, - `org.opencontainers.image.source` та інші. Дайджест базового образу Node - оновлюється через PR Dependabot для базових Docker-образів; release-збірки не запускають - шар оновлення дистрибутива. Див. - [Анотації OCI-образів](https://github.com/opencontainers/image-spec/blob/main/annotations.md). + + The main Docker runtime image uses `node:24-bookworm-slim` and publishes OCI + base-image annotations including `org.opencontainers.image.base.name`, + `org.opencontainers.image.source`, and others. The Node base digest is + refreshed through Dependabot Docker base-image PRs; release builds do not run + a distro upgrade layer. See + [OCI image annotations](https://github.com/opencontainers/image-spec/blob/main/annotations.md). -### Запускаєте на VPS? +### Running on a VPS? -Див. [Hetzner (Docker VPS)](/uk/install/hetzner) і -[Середовище виконання Docker VM](/uk/install/docker-vm-runtime) щодо спільних кроків розгортання VM, -зокрема вбудовування бінарних файлів, сталості даних і оновлень. +See [Hetzner (Docker VPS)](/uk/install/hetzner) and +[Docker VM Runtime](/uk/install/docker-vm-runtime) for shared VM deployment steps +including binary baking, persistence, and updates. -## Пісочниця агента +## Agent sandbox -Коли `agents.defaults.sandbox` увімкнено з бекендом Docker, gateway -запускає виконання інструментів агента (shell, читання/запис файлів тощо) в ізольованих Docker -контейнерах, тоді як сам gateway залишається на хості. Це створює жорстку межу -навколо ненадійних або багатокористувацьких сесій агентів без контейнеризації всього +When `agents.defaults.sandbox` is enabled with the Docker backend, the gateway +runs agent tool execution (shell, file read/write, etc.) inside isolated Docker +containers while the gateway itself stays on the host. This gives you a hard wall +around untrusted or multi-tenant agent sessions without containerizing the entire gateway. -Область пісочниці може бути для окремого агента (стандартно), для окремої сесії або спільною. Кожна область -отримує власний робочий простір, змонтований у `/workspace`. Також можна налаштувати -політики дозволу/заборони інструментів, ізоляцію мережі, обмеження ресурсів і браузерні -контейнери. +Sandbox scope can be per-agent (default), per-session, or shared. Each scope +gets its own workspace mounted at `/workspace`. You can also configure +allow/deny tool policies, network isolation, resource limits, and browser +containers. -Повну конфігурацію, образи, примітки щодо безпеки та профілі для кількох агентів див.: +For full configuration, images, security notes, and multi-agent profiles, see: -- [Пісочниця](/uk/gateway/sandboxing) -- повний довідник із пісочниці -- [OpenShell](/uk/gateway/openshell) -- інтерактивний shell-доступ до контейнерів пісочниці -- [Пісочниця та інструменти для кількох агентів](/uk/tools/multi-agent-sandbox-tools) -- перевизначення для окремих агентів +- [Sandboxing](/uk/gateway/sandboxing) -- complete sandbox reference +- [OpenShell](/uk/gateway/openshell) -- interactive shell access to sandbox containers +- [Multi-Agent Sandbox and Tools](/uk/tools/multi-agent-sandbox-tools) -- per-agent overrides -### Швидке ввімкнення +### Quick enable ```json5 { @@ -454,39 +458,39 @@ gateway. } ``` -Зберіть стандартний образ пісочниці: +Build the default sandbox image: ```bash scripts/sandbox-setup.sh ``` -## Усунення неполадок +## Troubleshooting - - Зберіть образ пісочниці за допомогою + + Build the sandbox image with [`scripts/sandbox-setup.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/sandbox-setup.sh) - або задайте `agents.defaults.sandbox.docker.image` на ваш власний образ. - Контейнери автоматично створюються для кожної сесії на вимогу. + or set `agents.defaults.sandbox.docker.image` to your custom image. + Containers are auto-created per session on demand. - - Установіть `docker.user` на UID:GID, що відповідає власнику змонтованого робочого простору, - або змініть власника папки робочого простору за допомогою chown. + + Set `docker.user` to a UID:GID that matches your mounted workspace ownership, + or chown the workspace folder. - - OpenClaw запускає команди через `sh -lc` (login shell), який зчитує - `/etc/profile` і може скидати PATH. Задайте `docker.env.PATH`, щоб додати на початок ваші - власні шляхи до інструментів, або додайте скрипт у `/etc/profile.d/` у вашому Dockerfile. + + OpenClaw runs commands with `sh -lc` (login shell), which sources + `/etc/profile` and may reset PATH. Set `docker.env.PATH` to prepend your + custom tool paths, or add a script under `/etc/profile.d/` in your Dockerfile. - - VM потребує щонайменше 2 GB RAM. Використайте більший клас машини й повторіть спробу. + + The VM needs at least 2 GB RAM. Use a larger machine class and retry. - - Отримайте свіже посилання на панель керування й схваліть пристрій браузера: + + Fetch a fresh dashboard link and approve the browser device: ```bash docker compose run --rm openclaw-cli dashboard --no-open @@ -494,12 +498,12 @@ scripts/sandbox-setup.sh docker compose run --rm openclaw-cli devices approve ``` - Докладніше: [Панель керування](/uk/web/dashboard), [Пристрої](/uk/cli/devices). + More detail: [Dashboard](/uk/web/dashboard), [Devices](/uk/cli/devices). - - Скиньте режим gateway і прив'язку: + + Reset gateway mode and bind: ```bash docker compose run --rm openclaw-cli config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"}]' @@ -509,10 +513,10 @@ scripts/sandbox-setup.sh -## Пов'язане +## Related -- [Огляд встановлення](/uk/install) — усі способи встановлення -- [Podman](/uk/install/podman) — альтернатива Podman для Docker -- [ClawDock](/uk/install/clawdock) — спільнотне налаштування Docker Compose -- [Оновлення](/uk/install/updating) — підтримання OpenClaw в актуальному стані -- [Конфігурація](/uk/gateway/configuration) — конфігурація gateway після встановлення +- [Install Overview](/uk/install) — all installation methods +- [Podman](/uk/install/podman) — Podman alternative to Docker +- [ClawDock](/uk/install/clawdock) — Docker Compose community setup +- [Updating](/uk/install/updating) — keeping OpenClaw up to date +- [Configuration](/uk/gateway/configuration) — gateway configuration after install