- xiaomi-be7000-setup
Роутер Xiaomi BE7000 крайне противоречивое с потребительской точки зрения устройство. С одной стороны, он обладает очень мощным железом: 4-ядерный процессор, 1Гб оперативной памяти, порты 2.5 Гбит/с., мощные антены, отличное покрытие, поддержка функций Wi-Fi 7. И как точка доступа он работает прекрасно. С другой стороны, для более глубокой настройки и использования всего потенциала железа у нас возникает огромное количество проблем:
- закрытая китайская прошивка в виде, судя по всему, глубоко переработанного форка OpenWRT
- свежий процессор Qualcomm IPQ95xx становится и минусом - OpenWRT его не поддерживает
- крайне маленькое сообщество, отсутствие пакетов и гайдов
В сравнении с Kinetik / Microtik, которые обладают как встроенными инструментами, так и развитым сообществом, инфраструктурой Entware и подробными гайдами, настроить наиболее востребованные инструменты в нашем случае — огромная проблема.
Тем не менее, выход есть. Благодаря возможности получить ssh-доступ к роутеру, мощному железу и возможности установки Docker, владельцы Xiaomi BE7000 все же могут настроить роутер под многие задачи.
Этот конфигуратор — попытка реализовать all-in-one набор решений для комфортного взаимодействия с роутером на более глубоком уровне без необходимости собирать хаки, bash-скрипты по интернету и мучиться с сетью.
DevOps-ориентированный конфигуратор для Xiaomi BE7000 (стоковая прошивка на базе OpenWrt): Docker Compose, Xray (VLESS+Reality), mihomo, AdGuard Home, TorrServer, автозапуск через UCI firewall include, бэкап/откат и smoke-проверки. Что умеет:
- устанавливает селективный Proxy клиент Mihomo в TUN-режиме (перехватывает TCP и UDP/QUIC из LAN), с настройками маршрутизации на основе re:filter и Geosite, до вашего proxy-сервера
- в качестве опции, вместо Mihomo вы можете использовать клиент v2rayA, если вам привычна настройка клиента и правил через Web GUI
- Mihomo Dashboard — интерфейс для мониторинга вашего Mihomo-клиента
- AdGuard Home — DNS-фильтрация (реклама/трекинг/вредоносные домены) с автоматической интеграцией в
dnsmasqXray-сервер для того, чтобы вы могли подключаться к своему роутеру из внешней сети (например, со своего смартфона), используя роутер, как шлюз для Shadowsocks-прокси с маршрутизацией трафика - настраивает Entware-окружение в
/optс живыми репозиториями - бонусом: устанавливает TorrServer для просмотра торрентов в домашней сети в реальном времени, например, со SmartTV
В итоге, ваш роутер сможет маршрутизировать трафик в домашней сети, обходя ограничения "с обоих сторон" (в том числе, сервисов, которые заблокировали доступ для российских пользователей) через Shadowsocks и проксируя напрямую весь отечественный трафик (банки, госсервисы).
Помимо этого, если у вас есть белый IP, вы можете настроить роутер как Xray-сервер для подключения своих смартфонов, чтобы использовать настроенные правила маршрутизации без необходимости выключать proxy-клиент при использовании отечественных сервисов.
Для развертывания Xray-сервера с поддержкой протоколов VLESS + XTLS-Reality / VLESS + xHTTP + TLS можно использовать конфигуратор xray-server , он автоматически развернет сервер на вашем VPS. Либо, воспользоваться любым инсталлером на просторах сети (например, популярный x-ui-pro) или развернуть самостоятельно по документации.
В качестве зависимости, конфигуратор использует xmir-patcher (эксплойт/доступ к устройству и постоянный dropbear) для получения ssh-доступа к роутеру.
flowchart TD
UserClient["Клиенты (смартфон/ноутбук)\nVLESS-клиенты"] -->|"VLESS + Reality"| Xray
LanDevices["Устройства в LAN\n(ТВ/Xbox/ПК)"] -->|"LAN-трафик"| Mihomo
LanDevices -->|"DNS"| Dnsmasq
Dnsmasq -->|"127.0.0.1:5353"| AdGuard
SmartTV["Smart TV"] -->|"Стриминг торрентов"| Torr
Torr -->|"UDP"| Direct["Прямой выход в интернет"]
subgraph Router["Xiaomi BE7000 (Docker stack на USB)"]
Xray["Xray server\n(vless inbound)"]
Mihomo["Mihomo/v2rayA\n(маршрутизация,правила)"]
AdGuard["AdGuard Home\n(DNS-фильтрация)"]
Dashboard["metacubexd\n(dashboard)"]
Dnsmasq["dnsmasq\n(DHCP/DNS OpenWrt)"]
Torr["TorrServer"]
Xray --> Mihomo
AdGuard -->|"upstream DNS"| Mihomo
Dashboard -. API .-> Mihomo
end
Mihomo -->|"Proxy route"| Upstream["Зарубежный upstream proxy\n(Shadowsocks/VLESS)"]
Mihomo -->|"DIRECT route\n(RU/LAN/исключения)"| Direct["Прямой выход в интернет"]
- Python 3.10+ и Poetry
- go-task (опционально, удобная обёртка над CLI)
- Роутер с уже включённым Docker через веб-интерфейс и привязанным USB (как хранилище mi_docker)
- Для первичного доступа без SSH — репозиторий xmir-patcher (подключается как git submodule)
Предполагается, что вы обладаете базовыми навыками работы с shell, понимаете, что такое ssh, можете склонировать git-репозиторий, в состоянии гуглить ошибки и, при необходимости, консультироваться по ним с ChatGPT/Grok.
Если вы хотите настроить proxy-клиент (mihomo/v2rayA) для получения доступа к ресурсам с ограничениями (например, youtube.com, grok.com), предполагается, что у либо собственный VPS-сервер, где вы настроили xray/shadowsocks самостоятельно, либо предоставленный одним из множества VPN-поставщиков, но совместимый с доступными протоколами.
Вы можете использовать как отдельные функции конфигуратора для дальнейшей самостоятельной настройки пакетов, такие:
task init: интерактивный мастер (Textual TUI) — экран с формами, генерация/обновлениеrouter.yaml, опциональный bootstrap SSH и deploytask bootstrap-ssh: получение ssh-доступаtask setup-entware: установить Entware-инфраструктура (/optчерез bind mount)task setup-shell-env: настройка shell-окружения (после активации, командыdocker,opkgи т.п. будут доступны в PATH)task setup-compose: установить docker compose plugin в$USB/opt/docker-cli
Так и управлять всем стеком полностью. Это предполагает, что конфигуратор развернет на роутере необходимые docker-контейнеры с приложениями (proxy-клиент, proxy-сервер, adguardhome, torrrserver и так далее) в соответствии с конфигурацией вашего router.yaml, а так же перенастроит сетевые правила маршрутизации трафика.
Порядок работы такой: вносите изменения в router.yaml -> task deploy, изменения применяются на роутере.
git clone --recurse-submodules git@github.com:tonatos/xiaomi-be7000-setup.git xiaomi-be7000-setup
cd xiaomi-be7000-setup
poetry installДля быстрого запуска мастера настройки в интерактивном режиме:
task initМастер задаст ключевые вопросы по proxy-клиенту, сервисам и deploy, аккуратно обновит только известные поля в router.yaml (без затирания ваших ручных секций) и может сразу выполнить полный деплой.
Если вы заполняете upstream URL для Mihomo (ss://, vless://, trojan://), мастер сразу добавит/обновит mihomo.proxies.
Вы так же можете не пользоваться мастером и выполнить конфигурацию вручную. Для этого, скопируйте конфиги:
cp config/router.example.yaml config/router.yaml
# Отредактируйте router.yaml: host, пароль SSH, UUID, Reality-ключи,
# upstream для mihomo и так далееЕсли у вашего роутера еще не настроен ssh, то воспользуйтесь инструкцией из следующей секции.
config/router.base.yaml подгружается автоматически, а config/router.yaml переопределяет любые его поля.
Если вы используете Mihomo, то укажите данные вашего proxy-сервера в секции mihomo.proxies файла config/router.yaml. Вот пример для Shadowsocks прокси:
proxies:
- name: "upstream"
type: ss # тип прокси (vless/shadowsocks)
server: 77.111.111.111 # IP вашего сервера
port: 34414 # порт
cipher: chacha20-ietf-poly1305 # cipher
password: "YOUR_PASSWORD" # пароль
udp: true
ip-version: ipv4
Настройки указывать в соответствии с документацией Mihomo Proxies.
v2rayA настраивается через Web GUI.
В config/router.yaml:
# Смените proxy-клиент
proxy_client: "v2raya"
services:
# Отключите mihomo и metacubexd
mihomo:
enabled: false
metacubexd:
enabled: false
# Включите контейнер с v2raya
v2raya:
enabled: true
# Секция mihomo больше не нужна
mihomo: []Для v2rayA рекомендуется TUN-режим:
- в
config/router.yaml:v2raya.transparent_mode: "tun"(по умолчанию так и есть в базе); routing.apply_iptablesможно оставитьfalse(iptables REDIRECT не нужен).
Режим redirect оставлен как legacy-вариант: используйте v2raya.transparent_mode: "redirect" и routing.apply_iptables: true, тогда lan-routing.sh применит TCP REDIRECT на services.v2raya.redir_port (по умолчанию 52345).
Рабочие настройки в Web GUI v2rayA, которые нужно задать в интерфейсе:
- Прозрачный прокси: Режим разделения трафика такой же, как и у порта с правилами
- Реализация прозрачного прокси/Системного прокси: system tun
- Предотвратить DNS-спуфинг: DoH
- Специальный режим: Выключено (fakedns не работает)
- Сниффер: Http + TLS + Quic
Если порт 22 закрыт, после git submodule update --init third_party/xmir-patcher выполните:
task bootstrap-ssh
# или
poetry run pip install -r third_party/xmir-patcher/requirements.txt
poetry run xiaomi-router bootstrap-sshПоследовательно вызываются connect.py <IP> и install_ssh.py из xmir-patcher (эксплойт/доступ к устройству и постоянный dropbear). Может понадобиться пароль веб-интерфейса Xiaomi — следуйте подсказкам скриптов upstream.
Команда копирует необходимые конфиги, скрипты с правилами маршрутизации, развертывает docker-контейнеры, настраивает dnsmasq -> AdGuard Home через UCI и проверяет работоспособность.
task deploy
# или
poetry run xiaomi-router deployОпции деплоя:
--skip-smoke— не запускать smoke-проверки послеdocker compose up.--no-rollback-on-smoke-fail— если smoke не прошёл, завершить deploy ошибкой, но не выполнятьdocker compose downи rollback.
Синтаксис
go-task: флаги передаются после разделителя--, иначеtaskвоспримет их как свои:task deploy -- --skip-smoke task deploy -- --no-rollback-on-smoke-failНапрямую без
task:poetry run xiaomi-router deploy --skip-smoke
Перед изменениями на USB создаётся архив в $USB/backups/, а также uci export firewall и uci export dhcp; по умолчанию при ошибке smoke выполняются docker compose down, затем откат файлов и импорт сохранённых firewall/dhcp.
Доступные эндпоинты, после развертывания полного стека:
- http://192.168.31.1:3000 — AdGuard
- http://192.168.31.1:9099 — Mihomo Dashboard Metacube
- http://192.168.31.1:2017 — v2rayA
- http://192.168.31.1:8090 — Torrserver
Чтобы подключиться Metacube к Mihomo-серверу, нужно указать адрес http://192.168.31.1:9010/ (по умолчанию) и секрет, указанный в секции mihomo.secret (по умолчанию, пусто).
Обновите базы для Mihomo:
Правила/Провайдеры правил— нажать на обновление у обоих, должны подгрузиться базыre:filterКонфигурация, снизуОбновить базы GEO— должны обновиться встроенные геобазы
По желанию, с рабочего SSH:
task setup-shell-env # shell PATH (docker / compose / opkg, если доступны)
task setup-entware # опционально, Entware в bind-mount /opt на USB
task setup-compose # плагин docker compose на USBЧто это значит:
setup-shell-env— создаёт/mnt/usb-*/opt/usb-env.shи idempotent-хук в/etc/profile, чтобы при каждом SSH-логине автоматически подхватывалисьdocker/docker compose/opkg(если доступны в системе).setup-entware— устанавливает Entware на USB (дополнительная экосистема Linux-пакетов в/opt) и сохраняет wrapperopkg-usbдля штатного/bin/opkgроутера в$USB/opt/bin/opkg-usb.
Это отдельная "мини-система" с собственным набором пакетов и утилит.
Когда что запускать:
- Если нужен только деплой этого проекта, начните с
task deploy: он сам проверитdocker composeи при необходимости установит его. setup-shell-envполезен почти всегда, если вы регулярно заходите на роутер по SSH.setup-entwareнужен, когда вам действительно нужны пакеты Entware (/opt/bin/opkgи экосистема/opt).
task deploy сам подготавливает shell env (usb-env.sh + /etc/profile hook) и проверяет наличие docker compose на роутере.
Если compose отсутствует, запускается автоустановка (setup-compose), а при неуспехе — попытка setup-entware и повторная установка compose.
Доступные переменные окружения (переопределяют YAML):
ROUTER_HOSTROUTER_SSH_PASSWORDROUTER_SSH_PORTROUTER_SSH_USERROUTER_PUBLIC_HOST
Команда add-mihomo-proxy разбирает ссылку вида ss://, vless:// или trojan:// и добавляет (или обновляет) прокси в секции mihomo.proxies вашего config/router.yaml.
Добавить прокси напрямую в router.yaml:
task add-mihomo-proxy -- 'ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpwYXNzd29yZA==@1.2.3.4:8388#MyProxy'
# или
poetry run xiaomi-router add-mihomo-proxy 'vless://uuid@host:443?security=reality&pbk=...&sid=...&sni=www.example.com&fp=chrome&flow=xtls-rprx-vision#MyVless'Если прокси с таким именем уже есть в файле — он будет обновлён. Команда использует round-trip редактирование YAML и сохраняет все существующие комментарии в файле.
Задать своё имя:
task add-mihomo-proxy -- 'trojan://secret@host:443?sni=example.com#OldName' --name "MyTrojan"Получить YAML-фрагмент без изменения файла (флаг --print):
task add-mihomo-proxy -- 'ss://...' --print
# выводит фрагмент YAML для ручной вставки в router.yamlПоддерживаемые транспорты и параметры парсинга:
| Протокол | Транспорт | Параметры из URL |
|---|---|---|
ss:// |
— | cipher, password, server, port |
vless:// |
tcp, ws, grpc, xhttp, h2 | security (tls/reality), sni, fp, pbk, sid, flow, alpn, path, host, mode |
trojan:// |
tcp, ws, grpc | sni, fp, alpn, allowInsecure, path, host |
Правила задаются в mihomo.rules вашего config/router.yaml (база — в config/router.base.yaml), порядок важен: проверяются сверху вниз.
Минимальный шаблон для своих правил:
mihomo:
rules:
- DOMAIN-SUFFIX,example.com,Proxy
- GEOIP,RU,DIRECT
- MATCH,DIRECTЧто есть в базе по умолчанию:
RULE-SET,refilter_domains,Proxy— доменные спискиre:filterчерез прокси.RULE-SET,refilter_ips,Proxy— IP-спискиre:filterчерез прокси.GEOSITE,category-ai-!cn,Proxy— AI-сервисы через прокси.GEOIP,CN,DIRECT,GEOIP,RU,DIRECT— Китай и РФ напрямую.MATCH,DIRECT— всё остальное напрямую (последнее правило-fallback).
| Команда | Назначение |
|---|---|
| Системные команды | |
task install |
Установить Python-зависимости (poetry install) |
task init |
Интерактивный мастер: заполнение router.yaml, опциональный bootstrap SSH и deploy |
| Управление роутером | |
task bootstrap-ssh |
Поднять SSH через xmir-patcher, если порт 22 недоступен |
task diagnose |
Сводка по состоянию mi_docker / USB |
task setup-shell-env |
Настроить usb-env.sh и автоподхват env в SSH (/etc/profile) |
task setup-entware |
Установить Entware на USB (/opt через bind mount) |
task setup-compose |
Установить compose plugin в $USB/opt/docker-cli |
| Управление стеком | |
task render |
Локальный рендер в build/rendered (USB-заглушка) |
task render-live |
Рендер с определением USB по SSH |
task deploy |
Полный деплой (backup, upload, UCI, compose up, smoke) |
task smoke |
Проверки портов и docker compose на роутере |
task sync-pull |
Скачать конфиги со стека в build/synced-from-router |
task sync-push |
Залить build/rendered и выполнить docker compose up -d |
task rollback -- path/to/deploy-....json |
Откат по метаданным deploy (JSON с роутера) |
| Прокси Mihomo | |
task add-mihomo-proxy -- 'URL' |
Добавить/обновить прокси в mihomo.proxies из ссылки ss://, vless://, trojan:// |
| Vless-сервер | |
task vless-link |
Напечатать VLESS (Reality) ссылку для клиента |
task vless-server-setup |
Сгенерировать ключи и клиентов для Xray REALITY на онове вашего текущего router.yaml |
CLI-эквиваленты (без task):
poetry run xiaomi-router {init, bootstrap-ssh, render, ...}Пример отката (JSON лежит на роутере в $USB/backups/):
scp root@192.168.31.1:/mnt/usb-*/backups/deploy-*.json ./
task rollback ./deploy-....jsonconfig/router.example.yaml— основной пример (в git)config/router.base.yaml— базовые системные значения (в git)config/router.yaml— ваш файл (в.gitignore)templates/— Jinja2-шаблоны: xray, mihomo, routing (iptables LAN), compose, autorun-скриптыsrc/xiaomi_router/— Python CLIthird_party/xmir-patcher— submodule
На USB создаётся каталог stack/ (имя задаётся в stack.relative_dir): docker-compose.yml, configs/xray, configs/mihomo, configs/adguardhome, routing/lan-routing.sh (общие iptables для выбранного proxy_client). По умолчанию туда же разворачивается metacubexd (веб-дашборд Mihomo) на порту 9099 роутера.
Для добавления собственных контейнеров используйте services.custom в router.yaml: каждый элемент этой секции вставляется в общий docker-compose.yml как обычный services.<name> из Docker Compose. Smoke-проверки по умолчанию выполняются только для встроенных сервисов проекта.
Пример установки торрент-клиент Transmission:
services:
custom:
transmission:
image: "lscr.io/linuxserver/transmission:latest"
container_name: "transmission"
restart: unless-stopped
network_mode: host
environment:
- PUID=0
- PGID=0
- TZ=Europe/Moscow
# Опционально: веб-интерфейс (см. документацию образа)
# - USER=admin
# - PASS=секрет
volumes:
# Конфиг рядом со стеком на USB (относительные пути — как у остальных сервисов)
- "./configs/transmission:/config"
# Загрузки — только под деревом USB, иначе на Xiaomi Docker после перезагрузки может не подняться демон
- "./data/transmission/downloads:/downloads"
- "./data/transmission/incomplete:/incomplete"Проект разворачивает контейнер AdGuard Home (services.adguardhome) и конфиг приложения в секции adguardhome (порты, upstream DNS, прокси и т.д.). При deploy dnsmasq переключается на локальный upstream 127.0.0.1#5353 (или adguardhome.dns_host/adguardhome.dns_port).
По текущим дефолтам в исходниках AdGuard Home:
AdGuard DNS filterвключен по умолчанию;AdGuard Russian filterприсутствует, включен по умолчанию.AdAway Default Blocklistприсутствует, но выключен.
В проекте эти же дефолты закладываются в рендер configs/adguardhome/conf/AdGuardHome.yaml.
Вы можете использовать ваш роутер как Xray-сервер для внешних клиентов (например, смартфонов) для того, чтобы маршрутизировать трафик по правилам, сконфигурированным в Mihomo/v2raya (в частности, отправлять запросы к ресурсам с ограничениями через зарубежный proxy-сервер).
Это позволит избавиться от необходимости подключаться напрямую к зарубежному серверу из мобильной сети в условиях ограничений мобильного интернета. Трафик внутри сети работает стабильнее.
В качестве клиента можно использовать любой, который поддерживает Vless (V2RayTun, Hiddify, Happ, etc.)
Чтобы подключить эту возможность, нужно указать следующие параметры в конфиге:
services:
xray_server:
# Включить Xray-сервер. Должен быть true
enabled: true
xray:
clients:
- # UUID клиента VLESS.
id: "00000000-0000-0000-0000-000000000000"
# Flow клиента (для Reality обычно xtls-rprx-vision).
flow: "xtls-rprx-vision"
reality:
# Приватный ключ пары Reality (сгенерируйте командой: `task vless-server-setup`).
private_key: "YOUR_REALITY_PRIVATE_KEY_BASE64URL"
# Список short_id (hex), используемый клиентами.
short_ids:
- "0123456789abcdef"Настройка осуществляется в соответствии с документацией.
Для быстрой генерации секции xray с ключами и short_id выполните:
task vless-server-setup
# или
poetry run xiaomi-router vless-server-setupСкопируйте вывод команды в ваш config/router.yaml. Если вам нужно добавить еще одного клиента, используйте флаг --add-client.
Команда vless-link строит ссылку из public_endpoint.host (или --host) и секретов Reality для подключения ваших клиентов. Для доступа из интернета нужны:
- проброс порта с WAN на хост роутера (порт inbound Xray, по умолчанию 443);
- у провайдера — публичный («белый») IP или статический адрес на вашем VPS, если вы выкладываете трафик иначе.
Роутер не обязан знать ваш внешний адрес — укажите его вручную в конфиге или в --host.
Mihomo запускается в TUN-режиме (mihomo.tun.enable: true) и перехватывает весь трафик из LAN через виртуальный интерфейс Meta:
- TCP и UDP/QUIC (HTTP/3) — заворачиваются в прокси автоматически, без дополнительных iptables-правил.
- Контейнер mihomo получает необходимые привилегии автоматически (
cap_add: NET_ADMIN,devices: /dev/net/tun). - При deploy скрипт добавляет
iptables FORWARD ACCEPTдляLAN -> Meta(иначе fw3 policy может резать TUN-трафик как не-WAN).
Для активации прозрачного проксирования достаточно настроить upstream в mihomo.proxies — дополнительных флагов в routing не требуется.
Гибридный режим (routing.apply_iptables: true): поверх TUN добавляется NAT REDIRECT для TCP через redir-port. Используется, если TUN по каким-то причинам не перехватывает нужный трафик.
Тюнинг производительности datapath (опционально): если при TUN/REDIRECT throughput упирается в softirq и заметен перекос NET_RX по ядрам, можно включить runtime-настройки RPS/XPS/RFS:
routing:
performance_tuning:
enabled: true
cpu_mask: "f" # 4 ядра (CPU0-CPU3)
rps_sock_flow_entries: 32768
rps_flow_cnt: 4096
meta_wait_seconds: 30 # если Meta ещё не поднят, фоновой watcher подождёт и применит tuning
interfaces: ["eth0", "br-lan", "Meta", "wl0", "wl1"]Параметры применяются скриптом routing/lan-routing.sh на start и откатываются на stop.
Для DNS-пайплайна LAN по умолчанию включён routing.mihomo_dns_redirect: true: DNS-запросы клиентов LAN (TCP/UDP 53) принудительно редиректятся в mihomo на routing.mihomo_dns_port (по умолчанию 1053). Это гарантирует, что fake-ip и доменные правила mihomo применяются даже при внешних апстримах dnsmasq.
Рекомендуемый режим для v2rayA — TUN:
v2raya.transparent_mode: "tun"вrouter.yaml;v2raya.tun_interfaceоставьте"tun+"(или укажите ваш шаблон интерфейса, если имя отличается);- в GUI v2rayA включите Transparent Proxy и выберите режим TUN;
- в GUI v2rayA отключите FakeDNS / Prevent DNS pollution (иначе возможны fake-ip
198.18.x.xвdirect); routing.apply_iptablesоставьтеfalse(legacy REDIRECT не нужен).
v2rayA запускается с privileged: true и имеет доступ к /dev/net/tun, поэтому TUN-режим работает в контейнере.
Если нужен старый режим Redirect (только TCP): задайте v2raya.transparent_mode: "redirect" и включите routing.apply_iptables: true.
Если сетевые правила сломали интернет — выполните на роутере через SSH:
/mnt/usb-XXXXXXXX/stack/routing/rollback.shИли перезагрузите роутер кнопкой — iptables-правила сбросятся до состояния прошивки.
Ручной откат iptables (если TCP-редирект включён):
iptables -t nat -F MIHOMO_MIHOMO 2>/dev/null
iptables -t nat -X MIHOMO_MIHOMO 2>/dev/null
iptables -t nat -D PREROUTING -s 192.168.31.0/24 -p tcp -j MIHOMO_MIHOMO 2>/dev/nullТома и проект Compose должны находиться под путями вида /mnt/usb-*/…. В случае, если docker-контейнеры будут ссылаться на пути за пределами /mnt/usb-*/…, роутер не запустит docker-демон при перезагрузке.
MIT