Существует много контейнеров minio, но ни один из них не предназначен для armv7, поэтому я решил потратить время и собрать сжатый контейнер minio. Бинарные файлы сжаты с помощью upx примерно на 30%, то есть 30 МБ вместо 90 МБ. В контейнер входят и minio, и mc (клиент). Если вы не знаете, что такое minio, это сервис хранения, совместимый с S3. Он состоит из бакетов и используется во многих корпоративных устройствах и системах по всему миру для хранения и обмена данными между клиентами, пользователями, серверами, скриптами и т.д. Его можно использовать для хранения резервных копий/экспортов RouterOS, support.rif и многих других вещей. Также он подходит для выкатки скриптов, настроек, фирменного оформления и прочего. Легко может хранить терабайты файлов (зависит от бэкенда хранения и железа).
Несколько примеров:
- Правила файрвола
- Адресные списки файрвола
- DHCP-аренды
- Пользователи ppp/vpn
- Маршруты
- Очереди
- Логирование и прочее
Исходники сборки контейнера доступны здесь:
Если хотите поставить контейнер, используйте команды:
/interface/bridge/add name=dockers
/ip/address/add address=172.20.0.254/24 interface=dockers
/interface/veth/add name=veth90 address=172.20.0.90/24 gateway=172.20.0.254
/interface/bridge/port add bridge=dockers interface=veth90
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/pull
/container/envs/add name=minio_envs key=TZ value="Asia/Jerusalem"
/container/envs/add name=minio_envs key=MINIO_ROOT_USER value="61accd06-4910-4af3-83ee-9f6505042c68"
/container/envs/add name=minio_envs key=MINIO_ROOT_PASSWORD value="fa2314a5-9819-412e-bbf3-14e5d4e5dcc4"
/container/envs/add name=minio_envs key=MINIO_SERVER_ADDRESS value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_DOMAIN value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_URL value="http://172.20.0.90:9000"
/container mounts add dst=/data name=minio_data src=/disk1/minio_data
/container/add mounts=minio_data dns=172.20.0.254 remote-image=elicro/minio:latest interface=veth90 root-dir=disk1/minio envlist=minio_envs start-on-boot=yes
Обратите внимание, что нужно менять root user и пароль на свои. Чтобы получить доступ к minio, зайдите по адресу: . Он перенаправит вас на порт 9001 — это веб-консоль управления.
Особое внимание обратите на переменные:
/container/envs/add name=minio_envs key=MINIO_SERVER_ADDRESS value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_DOMAIN value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_URL value="http://172.20.0.90:9000"
Скрипт запуска свяжет сервер minio только с MINIO_SERVER_ADDRESS и добавит хост-запись MINIO_SERVER_ADDRESS к MINIO_SERVER_DOMAIN. Значение MINIO_SERVER_URL используется, когда создаётся ссылка для шаринга из консоли — оно входит в подпись ссылки.
То есть, если у вас есть ссылка на файл вида: и вы поменяете её на , то это не сработает — minio скажет, что подпись не совпадает, и доступ к файлу будет запрещён.
Несколько примеров:
- Правила файрвола
- Адресные списки файрвола
- DHCP-аренды
- Пользователи ppp/vpn
- Маршруты
- Очереди
- Логирование и прочее
Исходники сборки контейнера доступны здесь:
Если хотите поставить контейнер, используйте команды:
/interface/bridge/add name=dockers
/ip/address/add address=172.20.0.254/24 interface=dockers
/interface/veth/add name=veth90 address=172.20.0.90/24 gateway=172.20.0.254
/interface/bridge/port add bridge=dockers interface=veth90
/container/config/set registry-url=https://registry-1.docker.io tmpdir=disk1/pull
/container/envs/add name=minio_envs key=TZ value="Asia/Jerusalem"
/container/envs/add name=minio_envs key=MINIO_ROOT_USER value="61accd06-4910-4af3-83ee-9f6505042c68"
/container/envs/add name=minio_envs key=MINIO_ROOT_PASSWORD value="fa2314a5-9819-412e-bbf3-14e5d4e5dcc4"
/container/envs/add name=minio_envs key=MINIO_SERVER_ADDRESS value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_DOMAIN value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_URL value="http://172.20.0.90:9000"
/container mounts add dst=/data name=minio_data src=/disk1/minio_data
/container/add mounts=minio_data dns=172.20.0.254 remote-image=elicro/minio:latest interface=veth90 root-dir=disk1/minio envlist=minio_envs start-on-boot=yes
Обратите внимание, что нужно менять root user и пароль на свои. Чтобы получить доступ к minio, зайдите по адресу: . Он перенаправит вас на порт 9001 — это веб-консоль управления.
Особое внимание обратите на переменные:
/container/envs/add name=minio_envs key=MINIO_SERVER_ADDRESS value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_DOMAIN value="172.20.0.90"
/container/envs/add name=minio_envs key=MINIO_SERVER_URL value="http://172.20.0.90:9000"
Скрипт запуска свяжет сервер minio только с MINIO_SERVER_ADDRESS и добавит хост-запись MINIO_SERVER_ADDRESS к MINIO_SERVER_DOMAIN. Значение MINIO_SERVER_URL используется, когда создаётся ссылка для шаринга из консоли — оно входит в подпись ссылки.
То есть, если у вас есть ссылка на файл вида: и вы поменяете её на , то это не сработает — minio скажет, что подпись не совпадает, и доступ к файлу будет запрещён.
