> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Парк пристроїв

# `openclaw fleet`

`openclaw fleet` керує повноцінними екземплярами OpenClaw, які називаються **комірками**. Кожна комірка має власні Gateway, стан, облікові дані, облікові записи каналів, контейнер і доступний лише через loopback порт хоста. Використовуйте окрему комірку для кожної межі довіри орендаря; не використовуйте один спільний Gateway як межу між недовіреними орендарями.

Fleet є **експериментальною** функцією. Назви команд, прапорці, формати виводу та профіль контейнера можуть змінюватися між випусками без періоду застарівання.

Fleet підтримує Docker і Podman. Типовий образ — `ghcr.io/openclaw/openclaw:latest`.

Fleet протестовано на хостах Linux і macOS. Хости Windows наразі не протестовано.

## Швидкий початок

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet create acme
openclaw fleet status acme
openclaw fleet list
```

`fleet create` одноразово виводить згенерований токен Gateway разом з URL-адресою комірки. Негайно збережіть токен, а потім налаштуйте облікові записи каналів кожного орендаря в комірці цього орендаря.

## Ідентифікатори орендарів

Ідентифікатори орендарів мають відповідати:

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
^[a-z0-9](?:[a-z0-9-]{0,38}[a-z0-9])?$
```

Дозволено від 1 до 40 малих літер, цифр і внутрішніх дефісів. Ідентифікатор має починатися й закінчуватися літерою або цифрою. Великі літери, символи підкреслення, скісні риски, крапки, пробільні символи та рядки обходу шляхів, як-от `../acme`, відхиляються.

Ідентифікатор стає частиною назви контейнера: `openclaw-cell-<tenant>`.

## `fleet create`

Створіть комірку та запустіть її:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet create acme
```

Створіть комірку Podman із фіксованим портом без її запуску:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet create acme \
  --runtime podman \
  --port 19125 \
  --no-start
```

Передавайте змінні середовища для конкретного орендаря, повторюючи `--env`:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet create acme \
  --env TZ=America/Los_Angeles \
  --env OPENCLAW_DISABLE_BONJOUR=1
```

Ключі середовища можуть містити літери, цифри та символи підкреслення й не можуть починатися із цифри. Значення мають бути однорядковими, оскільки Fleet передає їх через захищений файл середовища виконання. Fleet відхиляє спроби перевизначити керовані змінні шляхів контейнера й токена Gateway, перелічені в розділі [Сховище та структура контейнера](#storage-and-container-layout).

### Параметри створення

| Параметр                  | Типове значення                                | Опис                                                                                              |
| ------------------------- | ---------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `--image <ref>`           | `ghcr.io/openclaw/openclaw:latest`             | Образ контейнера для комірки.                                                                     |
| `--runtime <runtime>`     | `docker`                                       | CLI контейнера: `docker` або `podman`.                                                            |
| `--port <number>`         | Автоматично виділяється, починаючи з `19100`   | Loopback-порт хоста. Явно вибраний порт не повинен належати іншій зареєстрованій комірці.         |
| `--memory <value>`        | `2g`                                           | Обмеження пам’яті контейнера в синтаксисі Docker/Podman.                                          |
| `--cpus <value>`          | `2`                                            | Обмеження процесорних ресурсів контейнера.                                                        |
| `--disk <size>`           | Немає                                          | Обмежити доступний для запису шар контейнера, якщо серверна частина сховища підтримує квоти.      |
| `--network <mode>`        | `bridge`                                       | Режим вихідної мережі: `bridge` або `internal`.                                                   |
| `--pids-limit <number>`   | `512`                                          | Максимальна кількість процесів у контейнері.                                                      |
| `--env <KEY=VALUE>`       | Немає                                          | Передати змінну середовища до комірки. Повторіть для кількох значень.                             |
| `--gateway-token <value>` | Випадковий 32-символьний шістнадцятковий токен | Використати наданий токен Gateway замість генерування. Див. [Робота з токенами](#token-handling). |
| `--no-start`              | Комірка запускається                           | Створити контейнер без його запуску.                                                              |
| `--json`                  | Зручний для читання людиною вивід              | Вивести дані у форматі, придатному для машинного опрацювання.                                     |

Під час автоматичного виділення вибирається перший невикористаний порт реєстру, що дорівнює або перевищує `19100`. Fleet відхиляє дублікати ідентифікаторів орендарів і явно задані порти, уже призначені іншій комірці.

Посилання на образ передається як один аргумент середовища виконання контейнерів. Порожні посилання та значення, що починаються з `-`, відхиляються, щоб образ не можна було інтерпретувати як параметр Docker або Podman.

Вибрана кінцева точка Docker або Podman має бути локальною. Fleet відхиляє віддалені контексти Docker, кінцеві точки `DOCKER_HOST` і віддалені служби Podman до резервування порту або створення локального стану. Віддалені хости комірок не підтримуються.

Коли Fleet запускає нову комірку, команда створення очікує приблизно до хвилини, доки її Gateway відповість на `/healthz`. Якщо комірка не переходить у справний стан, Fleet залишає її контейнер і рядок реєстру недоторканими для `fleet status`, `fleet logs` або явного видалення. `--no-start` пропускає цю перевірку справності. Згенерований токен Gateway несправної нової комірки не втрачається — він залишається в середовищі контейнера (`docker|podman inspect`), а оскільки комірка ще не обслуговувала трафік, `fleet rm --force` із подальшим повторним створенням завжди є безпечною альтернативою.

### Закріплення за дайджестом

Команди створення й оновлення приймають посилання на образи, закріплені за дайджестом, як-от `--image ghcr.io/openclaw/openclaw@sha256:<digest>`. Fleet дослівно передає посилання на образ до Docker або Podman, що дає оператору змогу утримувати комірку на незмінних байтах образу замість рухомого тегу.

Результат створення містить ідентифікатор орендаря, назву контейнера, порт хоста, токен Gateway і локальну URL-адресу. Навіть у виводі JSON вважайте результат таким, що містить секретні дані, оскільки він містить токен.

### Обмеження диска

`--disk` обмежує лише доступний для запису шар контейнера. Підключені через bind mount каталоги стану й автентифікації кожного орендаря залишаються сховищем хоста; якщо для цих каталогів також потрібне жорстке обмеження, використовуйте проєктні квоти файлової системи хоста.

| Середовище виконання/серверна частина сховища | Підтримка `--disk`                                                                            |
| --------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Docker overlay2 на XFS                        | Потребує параметра монтування XFS `pquota`.                                                   |
| Docker btrfs або zfs                          | Підтримується драйвером сховища.                                                              |
| Podman overlay                                | Потребує сховища на основі XFS.                                                               |
| Інші серверні частини                         | Створення контейнера завершується помилкою демона та вказівками Fleet щодо серверної частини. |

### Політика вихідного трафіку

| Режим      | Docker                                                                                             | Podman                                                                                              |
| ---------- | -------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- |
| `bridge`   | Підтримується; вихідний трафік типово не обмежений.                                                | Підтримується; вихідний трафік типово не обмежений.                                                 |
| `internal` | Відхиляється, оскільки Docker не зберігає опублікований loopback-порт Gateway у внутрішній мережі. | Підтримується; loopback-порт Gateway залишається опублікованим, тоді як вихідний трафік блокується. |

Для Docker зберігайте режим мосту та застосовуйте політику вихідного трафіку за допомогою правил брандмауера хоста, як-от ланцюжок `DOCKER-USER`.

## `fleet list`

Виведіть список комірок у порядку ідентифікаторів орендарів:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet list
openclaw fleet ls
openclaw fleet list --json
```

Таблиця містить:

| Стовпець  | Значення                                                                                                                                                                                                                                                                                                                   |
| --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `tenant`  | Ідентифікатор орендаря.                                                                                                                                                                                                                                                                                                    |
| `state`   | Поточний стан контейнера за даними перевірки Docker або Podman. `unknown` означає, що середовище виконання було недоступним або контейнер із назвою комірки існує, але його мітки належності Fleet не відповідають запису реєстру (ознака конфлікту або втручання — перевірте його вручну перед виконанням будь-яких дій). |
| `port`    | Loopback-порт хоста, зіставлений із Gateway комірки.                                                                                                                                                                                                                                                                       |
| `image`   | Записаний образ контейнера.                                                                                                                                                                                                                                                                                                |
| `created` | Час створення комірки.                                                                                                                                                                                                                                                                                                     |

Рядки реєстру залишаються видимими, коли Docker або Podman недоступні; лише поточний стан змінюється на `unknown`.

## `fleet status`

Перевірте одну комірку:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet status acme
openclaw fleet status acme --json
```

Статус поєднує рядок реєстру Fleet, поточну перевірку контейнера та короткий запит із докладанням усіх можливих зусиль до:

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
http://127.0.0.1:<host-port>/healthz
```

Результат перевірки справності — `ok`, `failed` або `skipped`. `/healthz` підтверджує працездатність Gateway, а не повну готовність кожного налаштованого каналу чи плагіна. Перевірка пропускається, якщо немає придатної локальної кінцевої точки.

## `fleet logs`

Передавайте потік журналів контейнера комірки безпосередньо до термінала:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet logs acme
openclaw fleet logs acme --follow
openclaw fleet logs acme --tail 200
openclaw fleet logs acme --since 10m
```

Перед читанням журналів Fleet перевіряє мітки належності зареєстрованого контейнера, тому відмовляється працювати зі стороннім контейнером, який використовує очікувану назву комірки. Потік закріплюється за ідентифікатором перевіреного контейнера, тому паралельна заміна не може перенаправити його до новішого покоління. Натисніть Ctrl-C, щоб завершити `--follow`, не вважаючи зупинку оператором помилкою команди. Вивід журналу проходить через фільтр редагування, який замінює поточний токен Gateway комірки на `<redacted>`, перш ніж будь-які дані потраплять до термінала.

`fleet logs` не має режиму `--json`, оскільки журнали контейнера є необробленим потоком stdout/stderr. У сценаріях обмежуйте вивід за допомогою `--tail` і використовуйте звичайне перенаправлення оболонки або конвеєри.

## `fleet start`, `fleet stop` та `fleet restart`

Керуйте наявною коміркою за допомогою записаного для неї середовища виконання:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet start acme
openclaw fleet stop acme
openclaw fleet restart acme
```

Ці команди працюють із зареєстрованою назвою контейнера. Вони завершуються помилкою, якщо орендар невідомий або записане середовище виконання не може виконати операцію.

## `fleet upgrade`

Повторно завантажте записаний образ і замініть контейнер комірки:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet upgrade acme
```

Перенесіть комірку на інший образ:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet upgrade acme --image ghcr.io/openclaw/openclaw:<version>
```

Під час оновлення Fleet завантажує цільовий образ, перевіряє наявний контейнер і мережу окремої комірки, зупиняє та видаляє контейнер, а потім повторно створює і запускає його. Замінений контейнер зберігає той самий порт хоста, каталоги даних, мостову мережу окремої комірки, профіль середовища виконання, обмеження ресурсів, політику перезапуску, кероване Fleet середовище та значення, початково передані через `--env`. Змонтований стан зберігається після заміни контейнера; стандартне середовище образу може змінитися відповідно до цільового образу.

Заміна фіксується лише після того, як її Gateway відповість на `/healthz` через loopback-порт комірки відповідно до контракту перевірки працездатності, який використовує офіційний файл Compose. Замінений контейнер, який завершує роботу, циклічно аварійно перезапускається або не стає працездатним приблизно протягом хвилини, видаляється, а попередній контейнер відновлюється, тому несправний образ не виведе з ладу робочу комірку.

Токен Gateway навмисно не зберігається в реєстрі Fleet. Перед видаленням старого контейнера Fleet зчитує його середовище й переносить `OPENCLAW_GATEWAY_TOKEN` до заміненого контейнера. Не видаляйте старий контейнер вручну перед оновленням, якщо токен більше ніде під вашим контролем не зберігається.

## `fleet backup` та `fleet restore`

Створіть резервну копію однієї зупиненої комірки:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet stop acme
openclaw fleet backup acme --out ./acme.tgz
```

Відновіть цей архів у зареєстрованій комірці:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet restore acme --from ./acme.tgz
```

Ці команди потребують привілеїв оператора хоста. Архіви містять стан орендаря та секрети автентифікації, створюються з режимом `0600` і мають зберігатися як облікові дані. Резервне копіювання відмовляється працювати із запущеною коміркою, щоб стан SQLite було збережено узгоджено. Відновлення відмовляється працювати із запущеною коміркою, якщо не передано `--force`, замінює лише стан цього орендаря, змінює токен Gateway і одноразово виводить новий токен. Fleet створює резервну копію одного орендаря за раз; резервне копіювання всіх орендарів є окремою дією оператора.

Для відновлення потрібен наявний зупинений контейнер, оскільки його перевірений профіль середовища виконання надає обмеження, зіставлення користувача, походження середовища та образ для заміни. Якщо зареєстрований контейнер було видалено поза Fleet, спочатку виконайте `fleet rm <tenant> --force` без `--purge-data`, повторно створіть комірку з потрібним образом і `--no-start`, а потім повторіть відновлення. Перше видалення збереже обидва каталоги даних орендаря.

Обидві команди приймають `--max-bytes <bytes>` для обмеження обсягу архівованих або видобутих файлових даних і застосовують однаковий фіксований ліміт у мільйон сегментів шляхів архіву, щоб архівні бомби, які містять лише метадані, не могли вичерпати inode хоста, а кожна прийнята резервна копія залишалася придатною до відновлення. Команда резервного копіювання приймає `--out <path>`, а обидві команди підтримують `--json`.

Архіви містять лише звичайні файли й каталоги. Резервне копіювання ніколи не переходить за символічними посиланнями й не зберігає символічні та жорсткі посилання, сокети або вузли пристроїв; кількість пропущених об’єктів зазначається в результаті. Відновлення відхиляє архіви, що містять записи будь-якого іншого типу. Відтворювані дерева символічних посилань, як-от `node_modules` робочого простору, потрібно повторно встановити всередині комірки після відновлення.

## `fleet doctor`

Перевірте всі комірки або одного орендаря без зміни стану середовища виконання чи файлової системи:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet doctor
openclaw fleet doctor acme --json
```

Doctor перевіряє локальність середовища виконання, мітки власності, працездатність, захисні налаштування, обмеження ресурсів, прив’язку loopback-порту, наявність токена, власність мережі та режим вихідного трафіку, а також дозволи приватних каталогів стану. Попередження описують зупинені комірки або відмінності у власності; будь-яка невдала перевірка встановлює ненульовий код завершення процесу.

## `fleet rm`

Видаліть зупинену комірку із середовища виконання та реєстру, зберігши дані орендаря:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet rm acme
```

Для запущеного контейнера потрібен `--force`:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet rm acme --force
```

Також остаточно видаліть дані комірки:

```bash theme={"theme":{"light":"min-light","dark":"min-dark"}}
openclaw fleet rm acme --purge-data --force
```

Fleet видаляє контейнер комірки перед видаленням її виділеної мостової мережі. `--purge-data` потребує `--force`. Перед рекурсивним видаленням Fleet визначає обидва кореневі каталоги, що належать Fleet, і обидва каталоги окремого орендаря. Кожна ціль має бути саме очікуваним кінцевим каталогом орендаря, розташованим строго всередині свого кореневого каталогу, і не бути символічним посиланням. Ці перевірки меж запобігають перенаправленню видалення в інше місце через пошкоджений шлях реєстру або міжорендарське символічне посилання.

Очищення можна повторити, якщо точно очікуваний каталог орендаря вже відсутній. Завдяки цьому наступний виклик може завершити очищення після часткового збою файлової системи, не послаблюючи перевірки шляхів для каталогів, які ще існують.

## Сховище та структура контейнера

Стан комірки й ключі шифрування профілю автентифікації використовують окремі шляхи окремого орендаря на хості в активному каталозі стану OpenClaw:

```text theme={"theme":{"light":"min-light","dark":"min-dark"}}
<state-dir>/fleet/cells/<tenant>/
<state-dir>/fleet/auth-profile-secrets/<tenant>/
```

Перший каталог монтується в `/home/node/.openclaw`. Другий монтується в `/home/node/.config/openclaw` відповідно до монтування ключа шифрування в офіційній конфігурації Docker. Тому ключ шифрування не розкривається в межах звичайного монтування стану й не додається до резервної копії або спільного ресурсу, якщо копіюється чи надається лише каталог стану комірки. Обидва каталоги зберігаються після звичайного видалення й оновлення; `fleet rm --purge-data --force` видаляє обидва після окремих перевірок меж.

Перед першим запуском Fleet ініціалізує конфігурацію комірки з `gateway.mode=local`, автентифікацією за токеном, прив’язкою контейнера до LAN та джерелами Control UI для виділеного порту хоста. Значення токена не записується до цієї конфігурації; воно залишається в середовищі контейнера.

Fleet закріплює шляхи контейнера офіційного образу за допомогою таких значень середовища:

| Змінна                   | Значення в контейнері                  |
| ------------------------ | -------------------------------------- |
| `HOME`                   | `/home/node`                           |
| `OPENCLAW_HOME`          | `/home/node`                           |
| `OPENCLAW_STATE_DIR`     | `/home/node/.openclaw`                 |
| `OPENCLAW_CONFIG_PATH`   | `/home/node/.openclaw/openclaw.json`   |
| `OPENCLAW_WORKSPACE_DIR` | `/home/node/.openclaw/workspace`       |
| `OPENCLAW_GATEWAY_TOKEN` | Згенерований або наданий токен комірки |

Офіційний образ стандартно використовує непривілейованого користувача `node` з UID 1000. Fleet зберігає приватні монтування `0700` доступними для запису, не роблячи їх загальнодоступними. Docker із правами root запускає комірку з UID і GID непривілейованого користувача, який викликав команду; Docker без прав root використовує UID 0 контейнера, що зіставляється з непривілейованим користувачем хоста, який викликав команду, у просторі імен користувачів демона. Podman використовує `keep-id` з UID і GID користувача, який викликав команду. Коли сам Fleet працює від імені root із середовищем виконання з правами root, він зберігає користувача образу й призначає початкові файли монтування UID/GID 1000.

На хостах із SELinux монтування Docker і Podman отримують приватне перемаркування `:Z`. Якщо ви відновлюєте або переміщуєте дані комірки, забезпечте доступ до змонтованих шляхів для запису фактичному користувачеві контейнера. Профіль сумісний із режимом без прав root, але Docker або Podman уже має бути налаштовано для роботи без прав root на хості; Fleet не перетворює демон із правами root на демон без прав root.

## Профіль безпеки

Fleet застосовує до кожної комірки такий профіль:

| Засіб контролю          | Застосований профіль                                       | Причина                                                                                                 |
| ----------------------- | ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| Можливості Linux        | `--cap-drop=ALL`                                           | Gateway є процесом Node.js і не потребує додаткових можливостей Linux.                                  |
| Підвищення привілеїв    | `--security-opt no-new-privileges`                         | Запобігає отриманню процесами привілеїв через двійкові файли setuid або setgid.                         |
| Процес ініціалізації    | `--init`                                                   | Завершує дочірні процеси та пересилає сигнали життєвого циклу контейнера.                               |
| Обмеження процесів      | `--pids-limit 512` за замовчуванням                        | Обмежує вичерпання ресурсів через розгалуження та надмірну кількість процесів.                          |
| Обмеження пам’яті       | `--memory 2g` за замовчуванням                             | Обмежує використання пам’яті коміркою.                                                                  |
| Обмеження CPU           | `--cpus 2` за замовчуванням                                | Обмежує використання CPU коміркою.                                                                      |
| Диск записуваного шару  | Необов’язковий `--disk`                                    | Обмежує шар контейнера, якщо серверна частина сховища середовища виконання підтримує квоти.             |
| Політика перезапуску    | `--restart unless-stopped`                                 | Перезапускає несправну комірку, не скасовуючи навмисну зупинку.                                         |
| Публікація на хості     | Лише `127.0.0.1:<host-port>:18789`                         | Не допускає Gateway до універсальних інтерфейсів хоста.                                                 |
| Мережа комірки          | Одна мостова або внутрішня мережа Podman на комірку        | Розділяє трафік між IP-адресами контейнерів і за потреби блокує вихідний трафік Podman.                 |
| Ідентичність контейнера | Зіставлення користувача з хостом                           | Зберігає приватні монтування доступними для запису без надання загального доступу.                      |
| Постійний стан          | Монтування окремих комірок; без спільного монтування стану | Зберігає конфігурацію, облікові дані, сеанси та робочі простори орендаря в дереві даних цього орендаря. |
| Команда контейнера      | `node dist/index.js gateway --bind lan --port 18789`       | Прослуховує мережу контейнера, щоб зіставлення порту хоста лише на loopback могло звертатися до нього.  |

Fleet ніколи не монтує `/var/run/docker.sock`, не використовує `--privileged` чи мережу хоста й не додає можливостей. Міст окремої комірки є межею розділення між комірками, а не міжмережевим екраном для вихідного трафіку: комірки зберігають мережевий вихід, необхідний для провайдерів і каналів. Розмістіть перед loopback-портом проксі, тунель SSH або конфігурацію tailnet, що відповідає вашому розгортанню. `http://127.0.0.1:<port>` безпосередньо доступний лише з хоста Fleet.

Цей профіль розділяє контейнери орендарів, але не захищає орендарів від оператора Fleet, адміністратора середовища виконання контейнерів або скомпрометованого хоста. Повну модель довіри та варіанти посиленої ізоляції див. у розділі [Багатоорендарський хостинг](/gateway/multi-tenant-hosting).

## Обробка токенів

За замовчуванням `fleet create` генерує криптографічно випадковий 32-символьний шістнадцятковий токен Gateway і одноразово виводить його в результаті створення. Збережіть його у схваленому менеджері секретів і не допускайте потрапляння результату створення до журналів.

`--gateway-token` розміщує власний токен в аргументах локального процесу, які можуть зберігатися в історії оболонки або бути видимими у списках процесів. Віддавайте перевагу згенерованому токену, якщо лише наявний процес керування секретами не потребує наданого значення.

Токен і кожне значення, передане через `--env`, зберігаються в середовищі контейнера. Fleet записує їх у короткочасний файл середовища з режимом `0600`, передає Docker або Podman лише шлях до цього файлу й видаляє його після завершення команди середовища виконання. Значення, явно введені в `openclaw fleet create --gateway-token ...` або `--env KEY=VALUE`, усе одно можуть бути видимими в аргументах зовнішнього процесу `openclaw` та історії оболонки.

Значення середовища контейнера не приховані від довіреного оператора хоста: адміністратори Docker або Podman можуть прочитати їх за допомогою перевірки контейнера. Примітка Fleet «показується один раз» описує звичайний вивід CLI, а не захист від адміністратора хоста.

## Пов’язані матеріали

* [Багатокористувацький хостинг](/gateway/multi-tenant-hosting)
* [Docker](/uk/install/docker)
* [Podman](/uk/install/podman)
* [Безпека Gateway](/uk/gateway/security)
