chore(i18n): refresh uk translations
This commit is contained in:
parent
4dec5084a2
commit
c276171858
@ -1,79 +1,80 @@
|
||||
---
|
||||
read_when:
|
||||
- Ви хочете контейнеризований gateway замість локальних встановлень
|
||||
- Ви перевіряєте Docker flow
|
||||
summary: Необов’язкове налаштування та onboarding OpenClaw на основі Docker
|
||||
- Ви перевіряєте Docker-потік
|
||||
summary: Необов’язкове налаштування та онбординг OpenClaw на основі Docker
|
||||
title: Docker
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T18:07:27Z"
|
||||
generated_at: "2026-04-05T21:33:22Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4628362d52597f85e72c214efe96b2923c7a59a8592b3044dc8c230318c515b8
|
||||
source_hash: d6aa0453340d7683b4954316274ba6dd1aa7c0ce2483e9bd8ae137ff4efd4c3c
|
||||
source_path: install/docker.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Docker (необов’язково)
|
||||
|
||||
Docker **необов’язковий**. Використовуйте його лише якщо хочете контейнеризований gateway або хочете перевірити Docker flow.
|
||||
Docker **необов’язковий**. Використовуйте його лише якщо хочете контейнеризований gateway або перевіряєте Docker-потік.
|
||||
|
||||
## Чи підходить мені Docker?
|
||||
|
||||
- **Так**: вам потрібне ізольоване, одноразове середовище gateway або ви хочете запустити OpenClaw на хості без локальних встановлень.
|
||||
- **Ні**: ви запускаєте все на власній машині й просто хочете найшвидший dev-цикл. У такому разі використовуйте звичайний процес встановлення.
|
||||
- **Примітка щодо sandboxing**: sandboxing агента теж використовує Docker, але для цього **не потрібно** запускати весь gateway у Docker. Див. [Sandboxing](/gateway/sandboxing).
|
||||
- **Так**: вам потрібне ізольоване, тимчасове середовище gateway або ви хочете запускати OpenClaw на хості без локальних встановлень.
|
||||
- **Ні**: ви запускаєте на власній машині й просто хочете найшвидший цикл розробки. Натомість використовуйте звичайний процес встановлення.
|
||||
- **Примітка щодо sandboxing**: ізоляція агентів також використовує Docker, але для цього **не** потрібно запускати весь gateway у Docker. Див. [Sandboxing](/uk/gateway/sandboxing).
|
||||
|
||||
## Передумови
|
||||
|
||||
- Docker Desktop (або Docker Engine) + Docker Compose v2
|
||||
- Щонайменше 2 GB RAM для збирання образу (`pnpm install` може бути завершено через OOM на хостах із 1 GB з кодом виходу 137)
|
||||
- Достатньо дискового простору для образів і логів
|
||||
- Щонайменше 2 ГБ RAM для збирання образу (`pnpm install` може бути завершено через OOM на хостах із 1 ГБ з кодом виходу 137)
|
||||
- Достатньо місця на диску для образів і журналів
|
||||
- Якщо запускаєте на VPS/публічному хості, перегляньте
|
||||
[Посилення безпеки для мережевої доступності](/gateway/security),
|
||||
особливо політику firewall Docker `DOCKER-USER`.
|
||||
[Посилення безпеки для мережевої доступності](/uk/gateway/security),
|
||||
особливо політику фаєрвола Docker `DOCKER-USER`.
|
||||
|
||||
## Контейнеризований Gateway
|
||||
|
||||
<Steps>
|
||||
<Step title="Зберіть образ">
|
||||
Із кореня репозиторію запустіть скрипт налаштування:
|
||||
У корені репозиторію виконайте скрипт налаштування:
|
||||
|
||||
```bash
|
||||
./scripts/docker/setup.sh
|
||||
```
|
||||
|
||||
Це локально збере образ gateway. Щоб використати вже готовий образ:
|
||||
Це локально збирає образ gateway. Щоб натомість використати попередньо зібраний образ:
|
||||
|
||||
```bash
|
||||
export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
|
||||
./scripts/docker/setup.sh
|
||||
```
|
||||
|
||||
Готові образи публікуються в
|
||||
Попередньо зібрані образи публікуються в
|
||||
[GitHub Container Registry](https://github.com/openclaw/openclaw/pkgs/container/openclaw).
|
||||
Поширені теги: `main`, `latest`, `<version>` (наприклад `2026.2.26`).
|
||||
Поширені теги: `main`, `latest`, `<version>` (наприклад, `2026.2.26`).
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Завершіть onboarding">
|
||||
Скрипт налаштування автоматично запускає onboarding. Він:
|
||||
<Step title="Завершіть онбординг">
|
||||
Скрипт налаштування автоматично запускає онбординг. Він:
|
||||
|
||||
- запросить API key провайдерів
|
||||
- запросить API-ключі провайдера
|
||||
- згенерує токен gateway і запише його в `.env`
|
||||
- запустить gateway через Docker Compose
|
||||
|
||||
Під час налаштування onboarding перед запуском і записи в config виконуються через
|
||||
`openclaw-gateway` напряму. `openclaw-cli` призначений для команд, які ви запускаєте вже після того,
|
||||
як контейнер gateway існує.
|
||||
Під час налаштування онбординг перед запуском і запис конфігурації виконуються
|
||||
безпосередньо через `openclaw-gateway`. `openclaw-cli` призначений для команд,
|
||||
які ви запускаєте після того, як контейнер gateway уже існує.
|
||||
|
||||
</Step>
|
||||
|
||||
<Step title="Відкрийте Control UI">
|
||||
Відкрийте `http://127.0.0.1:18789/` у браузері й вставте налаштований
|
||||
shared secret у Settings. Скрипт налаштування типово записує токен у `.env`; якщо ви переключите конфігурацію контейнера на auth за паролем, використовуйте цей
|
||||
пароль.
|
||||
Відкрийте `http://127.0.0.1:18789/` у браузері та вставте налаштований
|
||||
спільний секрет у Settings. Скрипт налаштування типово записує токен у `.env`;
|
||||
якщо ви перемкнете конфігурацію контейнера на автентифікацію за паролем,
|
||||
використовуйте натомість цей пароль.
|
||||
|
||||
Потрібен URL ще раз?
|
||||
Потрібна URL-адреса знову?
|
||||
|
||||
```bash
|
||||
docker compose run --rm openclaw-cli dashboard --no-open
|
||||
@ -82,7 +83,7 @@ Docker **необов’язковий**. Використовуйте його
|
||||
</Step>
|
||||
|
||||
<Step title="Налаштуйте канали (необов’язково)">
|
||||
Використовуйте контейнер CLI, щоб додати канали обміну повідомленнями:
|
||||
Використайте контейнер CLI, щоб додати канали обміну повідомленнями:
|
||||
|
||||
```bash
|
||||
# WhatsApp (QR)
|
||||
@ -95,7 +96,7 @@ Docker **необов’язковий**. Використовуйте його
|
||||
docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
|
||||
```
|
||||
|
||||
Документація: [WhatsApp](/channels/whatsapp), [Telegram](/channels/telegram), [Discord](/channels/discord)
|
||||
Документація: [WhatsApp](/uk/channels/whatsapp), [Telegram](/uk/channels/telegram), [Discord](/uk/channels/discord)
|
||||
|
||||
</Step>
|
||||
</Steps>
|
||||
@ -109,25 +110,20 @@ docker build -t openclaw:local -f Dockerfile .
|
||||
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
|
||||
dist/index.js onboard --mode local --no-install-daemon
|
||||
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
|
||||
dist/index.js config set gateway.mode local
|
||||
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
|
||||
dist/index.js config set gateway.bind lan
|
||||
docker compose run --rm --no-deps --entrypoint node openclaw-gateway \
|
||||
dist/index.js config set gateway.controlUi.allowedOrigins \
|
||||
'["http://localhost:18789","http://127.0.0.1:18789"]' --strict-json
|
||||
dist/index.js config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"},{"path":"gateway.controlUi.allowedOrigins","value":["http://localhost:18789","http://127.0.0.1:18789"]}]'
|
||||
docker compose up -d openclaw-gateway
|
||||
```
|
||||
|
||||
<Note>
|
||||
Запускайте `docker compose` з кореня репозиторію. Якщо ви ввімкнули `OPENCLAW_EXTRA_MOUNTS`
|
||||
або `OPENCLAW_HOME_VOLUME`, скрипт налаштування записує `docker-compose.extra.yml`;
|
||||
підключайте його через `-f docker-compose.yml -f docker-compose.extra.yml`.
|
||||
додавайте його через `-f docker-compose.yml -f docker-compose.extra.yml`.
|
||||
</Note>
|
||||
|
||||
<Note>
|
||||
Оскільки `openclaw-cli` використовує той самий network namespace, що й `openclaw-gateway`, це
|
||||
інструмент для використання після запуску. До `docker compose up -d openclaw-gateway` виконуйте onboarding
|
||||
і записи config під час налаштування через `openclaw-gateway` з
|
||||
Оскільки `openclaw-cli` використовує спільний мережевий простір імен з `openclaw-gateway`,
|
||||
це інструмент для використання після запуску. До `docker compose up -d openclaw-gateway`
|
||||
виконуйте онбординг і запис конфігурації під час налаштування через `openclaw-gateway` з
|
||||
`--no-deps --entrypoint node`.
|
||||
</Note>
|
||||
|
||||
@ -135,30 +131,30 @@ docker compose up -d openclaw-gateway
|
||||
|
||||
Скрипт налаштування приймає такі необов’язкові змінні середовища:
|
||||
|
||||
| Змінна | Призначення |
|
||||
| ----------------------------- | --------------------------------------------------------------- |
|
||||
| `OPENCLAW_IMAGE` | Використати віддалений образ замість локального збирання |
|
||||
| Змінна | Призначення |
|
||||
| ----------------------------- | ---------------------------------------------------------------- |
|
||||
| `OPENCLAW_IMAGE` | Використовувати віддалений образ замість локального збирання |
|
||||
| `OPENCLAW_DOCKER_APT_PACKAGES` | Встановити додаткові apt-пакети під час збирання (через пробіл) |
|
||||
| `OPENCLAW_EXTENSIONS` | Попередньо встановити залежності extensions під час збирання (назви через пробіл) |
|
||||
| `OPENCLAW_EXTRA_MOUNTS` | Додаткові bind mounts хоста (через кому у форматі `source:target[:opts]`) |
|
||||
| `OPENCLAW_HOME_VOLUME` | Зберігати `/home/node` в іменованому Docker volume |
|
||||
| `OPENCLAW_SANDBOX` | Явно ввімкнути bootstrap sandbox (`1`, `true`, `yes`, `on`) |
|
||||
| `OPENCLAW_DOCKER_SOCKET` | Перевизначити шлях до сокета Docker |
|
||||
| `OPENCLAW_EXTENSIONS` | Попередньо встановити залежності розширень під час збирання (назви через пробіл) |
|
||||
| `OPENCLAW_EXTRA_MOUNTS` | Додаткові bind mounts хоста (через кому `source:target[:opts]`) |
|
||||
| `OPENCLAW_HOME_VOLUME` | Зберігати `/home/node` в іменованому Docker volume |
|
||||
| `OPENCLAW_SANDBOX` | Увімкнути bootstrap sandbox (`1`, `true`, `yes`, `on`) |
|
||||
| `OPENCLAW_DOCKER_SOCKET` | Перевизначити шлях до Docker socket |
|
||||
|
||||
### Перевірки стану
|
||||
|
||||
Ендпоїнти probe контейнера (auth не потрібен):
|
||||
Кінцеві точки перевірки контейнера (автентифікація не потрібна):
|
||||
|
||||
```bash
|
||||
curl -fsS http://127.0.0.1:18789/healthz # liveliness
|
||||
curl -fsS http://127.0.0.1:18789/healthz # liveness
|
||||
curl -fsS http://127.0.0.1:18789/readyz # readiness
|
||||
```
|
||||
|
||||
Docker image містить вбудований `HEALTHCHECK`, який опитує `/healthz`.
|
||||
Якщо перевірки постійно не проходять, Docker позначає контейнер як `unhealthy`, і
|
||||
системи оркестрації можуть перезапустити або замінити його.
|
||||
Образ Docker містить вбудований `HEALTHCHECK`, який опитує `/healthz`.
|
||||
Якщо перевірки продовжують завершуватися невдало, Docker позначає контейнер як `unhealthy`,
|
||||
а системи оркестрації можуть перезапустити або замінити його.
|
||||
|
||||
Поглиблений snapshot стану з auth:
|
||||
Автентифікований детальний знімок стану:
|
||||
|
||||
```bash
|
||||
docker compose exec openclaw-gateway node dist/index.js health --token "$OPENCLAW_GATEWAY_TOKEN"
|
||||
@ -166,37 +162,36 @@ 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.
|
||||
`scripts/docker/setup.sh` типово встановлює `OPENCLAW_GATEWAY_BIND=lan`, щоб доступ із хоста до
|
||||
`http://127.0.0.1:18789` працював із публікацією порту Docker.
|
||||
|
||||
- `lan` (типово): браузер і CLI на хості можуть досягати опублікованого порту gateway.
|
||||
- `loopback`: лише процеси всередині network namespace контейнера можуть
|
||||
напряму досягати gateway.
|
||||
- `lan` (типово): браузер і CLI на хості можуть звертатися до опублікованого порту gateway.
|
||||
- `loopback`: напряму до gateway можуть звертатися лише процеси всередині мережевого простору імен контейнера.
|
||||
|
||||
<Note>
|
||||
Використовуйте значення режиму bind у `gateway.bind` (`lan` / `loopback` / `custom` /
|
||||
`tailnet` / `auto`), а не псевдоніми хоста на кшталт `0.0.0.0` чи `127.0.0.1`.
|
||||
Використовуйте значення режиму прив’язки в `gateway.bind` (`lan` / `loopback` / `custom` /
|
||||
`tailnet` / `auto`), а не псевдоніми хоста на кшталт `0.0.0.0` або `127.0.0.1`.
|
||||
</Note>
|
||||
|
||||
### Сховище та збереження даних
|
||||
|
||||
Docker Compose монтує `OPENCLAW_CONFIG_DIR` у `/home/node/.openclaw` і
|
||||
`OPENCLAW_WORKSPACE_DIR` у `/home/node/.openclaw/workspace`, тому ці шляхи
|
||||
Docker Compose монтує `OPENCLAW_CONFIG_DIR` до `/home/node/.openclaw` і
|
||||
`OPENCLAW_WORKSPACE_DIR` до `/home/node/.openclaw/workspace`, тож ці шляхи
|
||||
зберігаються після заміни контейнера.
|
||||
|
||||
У цьому змонтованому каталозі config OpenClaw зберігає:
|
||||
У цьому змонтованому каталозі конфігурації OpenClaw зберігає:
|
||||
|
||||
- `openclaw.json` для конфігурації поведінки
|
||||
- `agents/<agentId>/agent/auth-profiles.json` для збереженої auth OAuth/API-key провайдерів
|
||||
- `.env` для runtime-secret на основі env, таких як `OPENCLAW_GATEWAY_TOKEN`
|
||||
- `agents/<agentId>/agent/auth-profiles.json` для збереженої OAuth/API-key автентифікації провайдерів
|
||||
- `.env` для секретів середовища виконання на основі env, таких як `OPENCLAW_GATEWAY_TOKEN`
|
||||
|
||||
Повні подробиці про збереження даних у розгортаннях на VM див. у
|
||||
[Docker VM Runtime - Що і де зберігається](/install/docker-vm-runtime#what-persists-where).
|
||||
Повні відомості про збереження даних у VM-розгортаннях див. у
|
||||
[Docker VM Runtime - Що і де зберігається](/uk/install/docker-vm-runtime#what-persists-where).
|
||||
|
||||
**Точки зростання диска:** стежте за `media/`, JSONL-файлами сесій, `cron/runs/*.jsonl`
|
||||
і ротаційними файловими логами в `/tmp/openclaw/`.
|
||||
**Точки зростання дискового простору:** стежте за `media/`, файлами session JSONL, `cron/runs/*.jsonl`
|
||||
і ротаційними файловими журналами в `/tmp/openclaw/`.
|
||||
|
||||
### Shell helpers (необов’язково)
|
||||
### Допоміжні команди оболонки (необов’язково)
|
||||
|
||||
Для зручнішого щоденного керування Docker установіть `ClawDock`:
|
||||
|
||||
@ -205,11 +200,11 @@ mkdir -p ~/.clawdock && curl -sL https://raw.githubusercontent.com/openclaw/open
|
||||
echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
```
|
||||
|
||||
Якщо ви встановлювали ClawDock зі старого raw-шляху `scripts/shell-helpers/clawdock-helpers.sh`, повторно виконайте команду встановлення вище, щоб ваш локальний helper-файл відстежував нове розташування.
|
||||
Якщо ви встановили ClawDock зі старого raw-шляху `scripts/shell-helpers/clawdock-helpers.sh`, повторно виконайте наведену вище команду встановлення, щоб ваш локальний файл helpers відстежував нове розташування.
|
||||
|
||||
Потім використовуйте `clawdock-start`, `clawdock-stop`, `clawdock-dashboard` тощо. Виконайте
|
||||
`clawdock-help`, щоб побачити всі команди.
|
||||
Повний посібник див. у [ClawDock](/install/clawdock).
|
||||
Див. [ClawDock](/uk/install/clawdock), щоб переглянути повний посібник із helpers.
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Увімкнення sandbox агента для Docker gateway">
|
||||
@ -218,7 +213,7 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
./scripts/docker/setup.sh
|
||||
```
|
||||
|
||||
Користувацький шлях до сокета (наприклад rootless Docker):
|
||||
Нестандартний шлях до socket (наприклад, rootless Docker):
|
||||
|
||||
```bash
|
||||
export OPENCLAW_SANDBOX=1
|
||||
@ -227,13 +222,13 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
```
|
||||
|
||||
Скрипт монтує `docker.sock` лише після успішного проходження передумов sandbox. Якщо
|
||||
налаштування sandbox не можна завершити, скрипт скидає `agents.defaults.sandbox.mode`
|
||||
налаштування sandbox не вдається завершити, скрипт скидає `agents.defaults.sandbox.mode`
|
||||
до `off`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Automation / CI (неінтерактивно)">
|
||||
Вимкніть виділення псевдо-TTY у Compose через `-T`:
|
||||
<Accordion title="Автоматизація / CI (неінтерактивно)">
|
||||
Вимкніть виділення pseudo-TTY для Compose за допомогою `-T`:
|
||||
|
||||
```bash
|
||||
docker compose run -T --rm openclaw-cli gateway probe
|
||||
@ -243,15 +238,15 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Примітка щодо безпеки спільної мережі">
|
||||
`openclaw-cli` використовує `network_mode: "service:openclaw-gateway"`, щоб команди CLI
|
||||
могли досягати gateway через `127.0.0.1`. Ставтеся до цього як до спільної
|
||||
межі довіри. Конфігурація compose прибирає `NET_RAW`/`NET_ADMIN` і вмикає
|
||||
`openclaw-cli` використовує `network_mode: "service:openclaw-gateway"`, тому команди CLI
|
||||
можуть звертатися до gateway через `127.0.0.1`. Розглядайте це як спільну
|
||||
межу довіри. Конфігурація compose прибирає `NET_RAW`/`NET_ADMIN` та вмикає
|
||||
`no-new-privileges` для `openclaw-cli`.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Права доступу та EACCES">
|
||||
Образ працює від імені `node` (uid 1000). Якщо ви бачите помилки прав доступу до
|
||||
`/home/node/.openclaw`, переконайтеся, що bind mounts хоста належать uid 1000:
|
||||
`/home/node/.openclaw`, переконайтеся, що ваші bind mounts хоста належать uid 1000:
|
||||
|
||||
```bash
|
||||
sudo chown -R 1000:1000 /path/to/openclaw-config /path/to/openclaw-workspace
|
||||
@ -260,8 +255,8 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Швидші перебудови">
|
||||
Організуйте Dockerfile так, щоб шари залежностей кешувалися. Це дозволить уникнути повторного запуску
|
||||
`pnpm install`, якщо lockfile не змінювався:
|
||||
Упорядкуйте Dockerfile так, щоб шари залежностей кешувалися. Це дозволяє не запускати
|
||||
`pnpm install` повторно, доки не зміняться lockfile-файли:
|
||||
|
||||
```dockerfile
|
||||
FROM node:24-bookworm
|
||||
@ -283,8 +278,8 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Розширені параметри контейнера">
|
||||
Типовий image орієнтований на безпеку й працює від імені непривілейованого `node`. Для більш
|
||||
<Accordion title="Параметри контейнера для досвідчених користувачів">
|
||||
Типовий образ орієнтований на безпеку та працює від непривілейованого користувача `node`. Для більш
|
||||
функціонального контейнера:
|
||||
|
||||
1. **Зберігайте `/home/node`**: `export OPENCLAW_HOME_VOLUME="openclaw_home"`
|
||||
@ -294,48 +289,49 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
docker compose run --rm openclaw-cli \
|
||||
node /app/node_modules/playwright-core/cli.js install chromium
|
||||
```
|
||||
4. **Зберігайте завантаження browser**: задайте
|
||||
4. **Зберігайте завантаження браузера**: установіть
|
||||
`PLAYWRIGHT_BROWSERS_PATH=/home/node/.cache/ms-playwright` і використовуйте
|
||||
`OPENCLAW_HOME_VOLUME` або `OPENCLAW_EXTRA_MOUNTS`.
|
||||
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="OpenAI Codex OAuth (headless Docker)">
|
||||
Якщо в майстрі ви вибираєте OpenAI Codex OAuth, відкривається URL у браузері. У
|
||||
Docker або headless-середовищах скопіюйте повний redirect URL, на який ви потрапите, і вставте
|
||||
його назад у майстер, щоб завершити auth.
|
||||
Якщо ви виберете у майстрі OpenAI Codex OAuth, відкриється URL-адреса в браузері. У
|
||||
Docker або headless-середовищах скопіюйте повну URL-адресу перенаправлення, на яку ви потрапите, і вставте
|
||||
її назад у майстер, щоб завершити автентифікацію.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Метадані базового образу">
|
||||
Основний Docker image використовує `node:24-bookworm` і публікує анотації OCI базового image,
|
||||
включно з `org.opencontainers.image.base.name`,
|
||||
`org.opencontainers.image.source` та іншими. Див.
|
||||
[OCI image annotations](https://github.com/opencontainers/image-spec/blob/main/annotations.md).
|
||||
Основний образ Docker використовує `node:24-bookworm` і публікує анотації базового OCI-образу,
|
||||
зокрема `org.opencontainers.image.base.name`,
|
||||
`org.opencontainers.image.source` та інші. Див.
|
||||
[Анотації OCI-образу](https://github.com/opencontainers/image-spec/blob/main/annotations.md).
|
||||
</Accordion>
|
||||
</AccordionGroup>
|
||||
|
||||
### Запускаєте на VPS?
|
||||
### Запуск на VPS?
|
||||
|
||||
Див. [Hetzner (Docker VPS)](/install/hetzner) і
|
||||
[Docker VM Runtime](/install/docker-vm-runtime) для спільних кроків розгортання на VM,
|
||||
включно з вбудовуванням бінарних файлів, збереженням даних і оновленнями.
|
||||
Див. [Hetzner (Docker VPS)](/uk/install/hetzner) і
|
||||
[Docker VM Runtime](/uk/install/docker-vm-runtime), щоб переглянути кроки спільного VM-розгортання,
|
||||
зокрема вбудовування бінарних файлів, збереження даних і оновлення.
|
||||
|
||||
## Sandbox агента
|
||||
|
||||
Коли ввімкнено `agents.defaults.sandbox`, gateway виконує інструменти агента
|
||||
(shell, читання/запис файлів тощо) в ізольованих Docker-контейнерах, тоді як
|
||||
сам gateway залишається на хості. Це дає жорстку межу навколо недовірених або
|
||||
багатоорендних сесій агента без контейнеризації всього gateway.
|
||||
сам gateway залишається на хості. Це дає вам жорстку межу навколо недовірених або
|
||||
багатокористувацьких сесій агентів без контейнеризації всього gateway.
|
||||
|
||||
Область sandbox може бути для окремого агента (типово), окремої сесії або спільною. Кожна
|
||||
область отримує власний workspace, змонтований у `/workspace`. Також можна налаштувати
|
||||
політики allow/deny для інструментів, ізоляцію мережі, обмеження ресурсів і browser-контейнери.
|
||||
Область дії sandbox може бути на рівні агента (типово), сесії або спільною. Для кожної області
|
||||
використовується власний workspace, змонтований у `/workspace`. Ви також можете налаштувати
|
||||
політики дозволу/заборони інструментів, ізоляцію мережі, обмеження ресурсів і
|
||||
контейнери браузера.
|
||||
|
||||
Повну конфігурацію, образи, примітки з безпеки та профілі для кількох агентів див. тут:
|
||||
Повну інформацію про конфігурацію, образи, примітки щодо безпеки та профілі з кількома агентами див. тут:
|
||||
|
||||
- [Sandboxing](/gateway/sandboxing) -- повний довідник sandbox
|
||||
- [OpenShell](/gateway/openshell) -- інтерактивний доступ shell до контейнерів sandbox
|
||||
- [Sandbox і інструменти для кількох агентів](/tools/multi-agent-sandbox-tools) -- перевизначення для окремих агентів
|
||||
- [Sandboxing](/uk/gateway/sandboxing) -- повний довідник із sandbox
|
||||
- [OpenShell](/uk/gateway/openshell) -- інтерактивний доступ до shell у sandbox-контейнерах
|
||||
- [Multi-Agent Sandbox and Tools](/uk/tools/multi-agent-sandbox-tools) -- перевизначення для окремих агентів
|
||||
|
||||
### Швидке ввімкнення
|
||||
|
||||
@ -352,7 +348,7 @@ echo 'source ~/.clawdock/clawdock-helpers.sh' >> ~/.zshrc && source ~/.zshrc
|
||||
}
|
||||
```
|
||||
|
||||
Зберіть типовий image sandbox:
|
||||
Зберіть типовий образ sandbox:
|
||||
|
||||
```bash
|
||||
scripts/sandbox-setup.sh
|
||||
@ -361,30 +357,31 @@ scripts/sandbox-setup.sh
|
||||
## Усунення несправностей
|
||||
|
||||
<AccordionGroup>
|
||||
<Accordion title="Немає image або контейнер sandbox не запускається">
|
||||
Зберіть image sandbox за допомогою
|
||||
<Accordion title="Образ відсутній або sandbox-контейнер не запускається">
|
||||
Зберіть образ sandbox за допомогою
|
||||
[`scripts/sandbox-setup.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/sandbox-setup.sh)
|
||||
або задайте `agents.defaults.sandbox.docker.image` на власний image.
|
||||
Контейнери автоматично створюються для кожної сесії за потреби.
|
||||
або встановіть для `agents.defaults.sandbox.docker.image` свій користувацький образ.
|
||||
Контейнери автоматично створюються за потреби для кожної сесії.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Помилки прав доступу в sandbox">
|
||||
Задайте `docker.user` на UID:GID, який відповідає власнику змонтованого workspace,
|
||||
або змініть власника теки workspace через chown.
|
||||
Установіть `docker.user` у UID:GID, що відповідає власнику змонтованого workspace,
|
||||
або змініть власника папки workspace через chown.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Користувацькі інструменти не знайдено в sandbox">
|
||||
OpenClaw запускає команди через `sh -lc` (login shell), яка читає
|
||||
`/etc/profile` і може скидати PATH. Задайте `docker.env.PATH`, щоб додати
|
||||
власні шляхи до інструментів, або додайте скрипт у `/etc/profile.d/` у своєму Dockerfile.
|
||||
OpenClaw запускає команди через `sh -lc` (login shell), який зчитує
|
||||
`/etc/profile` і може скинути PATH. Установіть `docker.env.PATH`, щоб додати
|
||||
ваші шляхи до користувацьких інструментів на початок, або додайте скрипт у `/etc/profile.d/`
|
||||
у вашому Dockerfile.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Процес завершено через OOM під час збирання image (exit 137)">
|
||||
VM потребує щонайменше 2 GB RAM. Використайте більший клас машини й повторіть спробу.
|
||||
<Accordion title="Завершено через OOM під час збирання образу (exit 137)">
|
||||
VM потрібні щонайменше 2 ГБ RAM. Використайте більший клас машини та повторіть спробу.
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Unauthorized або потрібен pairing у Control UI">
|
||||
Отримайте свіже посилання на dashboard і схваліть пристрій браузера:
|
||||
<Accordion title="Unauthorized або потрібне pairing у Control UI">
|
||||
Отримайте нове посилання dashboard і схваліть пристрій браузера:
|
||||
|
||||
```bash
|
||||
docker compose run --rm openclaw-cli dashboard --no-open
|
||||
@ -397,11 +394,10 @@ scripts/sandbox-setup.sh
|
||||
</Accordion>
|
||||
|
||||
<Accordion title="Ціль gateway показує ws://172.x.x.x або помилки pairing із Docker CLI">
|
||||
Скиньте режим і bind gateway:
|
||||
Скиньте режим і прив’язку gateway:
|
||||
|
||||
```bash
|
||||
docker compose run --rm openclaw-cli config set gateway.mode local
|
||||
docker compose run --rm openclaw-cli config set gateway.bind lan
|
||||
docker compose run --rm openclaw-cli config set --batch-json '[{"path":"gateway.mode","value":"local"},{"path":"gateway.bind","value":"lan"}]'
|
||||
docker compose run --rm openclaw-cli devices list --url ws://127.0.0.1:18789
|
||||
```
|
||||
|
||||
@ -410,8 +406,8 @@ scripts/sandbox-setup.sh
|
||||
|
||||
## Пов’язане
|
||||
|
||||
- [Огляд встановлення](/install) — усі способи встановлення
|
||||
- [Podman](/install/podman) — альтернатива Docker на Podman
|
||||
- [ClawDock](/install/clawdock) — community-налаштування на Docker Compose
|
||||
- [Оновлення](/install/updating) — підтримка OpenClaw в актуальному стані
|
||||
- [Конфігурація](/gateway/configuration) — конфігурація gateway після встановлення
|
||||
- [Install Overview](/uk/install) — усі методи встановлення
|
||||
- [Podman](/uk/install/podman) — альтернатива Docker на базі Podman
|
||||
- [ClawDock](/uk/install/clawdock) — спільнотне налаштування Docker Compose
|
||||
- [Updating](/uk/install/updating) — як підтримувати OpenClaw в актуальному стані
|
||||
- [Configuration](/uk/gateway/configuration) — конфігурація gateway після встановлення
|
||||
|
||||
Loading…
Reference in New Issue
Block a user