Установка
Требования
Заголовок раздела «Требования»- ОС: Ubuntu 22.04+ или Debian 12+. На других дистрибутивах установщик предупредит, но не остановится.
- Архитектура: amd64 или arm64. Raspberry Pi 4 подойдёт, если на нём 64-битная система.
- Память: от 400 МБ, меньше только с предупреждением. Docker берёт около 300 МБ, mikan ещё около 60 МБ.
- Диск: нужен хотя бы 1 ГБ свободного места там, где живёт Docker, а лучше от 3 ГБ.
- Доступ: root (
sudo). - Время: часы сервера должны быть синхронизированы, иначе TLS и REALITY работают плохо.
- Домен не обязателен. Без него панель получит сертификат Let’s Encrypt на IP-адрес.
Команда
Заголовок раздела «Команда»curl -fsSL https://github.com/Miroshka000/mikan/releases/latest/download/install.sh | sudo bashinstall.sh сначала проверяет подпись релиза и хеш установщика и только потом что-то ставит. Если Docker нет, он поставится с get.docker.com. Docker без compose v2 (пакет docker.io из Ubuntu 22.04 и Debian) установщик заменит, но только с вашего согласия: образы, тома и контейнеры останутся.
Что спросит установщик
Заголовок раздела «Что спросит установщик»В терминале откроется пошаговый мастер:
-
Язык панели: русский или английский. На нём откроются админка и страница подписки, на нём же названия тарифов и меню бота по умолчанию.
-
Проверка сервера: ОС, память, диск, время, свободные порты 443 и 8443 (TCP и UDP) и 80. Занятый порт не останавливает установку: протоколы на нём получат другие свободные порты.
-
Адрес сервера: публичный IPv4 определяется сам, можно указать и имя хоста.
-
Домен, необязательно. Установщик проверяет через публичный DNS, что домен указывает именно на этот сервер. Остановит, если A-записи нет, она ведёт на другой адрес, домен за прокси Cloudflare («оранжевое облако») или есть AAAA-запись на чужой адрес.
-
Email для Let’s Encrypt, необязательно.
-
nginx или Caddy на порту 80. Если они уже держат порт 80, а домен указан, установщик предложит добавить правило, чтобы проверки Let’s Encrypt доходили до панели. Конфиг сохраняется, проверяется (
nginx -t,caddy validate) и при ошибке возвращается как был. Откажетесь, и в конце будут показаны строки, которые нужно добавить самому. -
Параметры: порт панели (по умолчанию случайный от 20000 до 60000), открывать ли порты в ufw, включать ли BBR и большие UDP-буферы.
-
Установка: образ последнего подписанного релиза и PostgreSQL 18, файлы в
/opt/mikan, админ и секретные ссылки, настройка сети, запуск. -
Маскировка REALITY: установщик до минуты ищет сайты рядом с сервером и предлагает выбрать один.
На последнем экране будут ссылка на панель, логин и пароль. Клавиша q показывает QR-код ссылки.
Без вопросов, для скриптов
Заголовок раздела «Без вопросов, для скриптов»С флагом --yes установщик ничего не спрашивает и берёт значения из флагов и умолчаний:
curl -fsSL https://github.com/Miroshka000/mikan/releases/latest/download/install.sh \ | sudo bash -s -- --yes --lang ru --domain vpn.example.com --email you@example.com| Флаг | Что делает |
|---|---|
--lang en|ru |
язык панели по умолчанию |
--host IP |
публичный IPv4 сервера, по умолчанию определяется сам |
--domain DOMAIN |
домен, который указывает на сервер, для сертификата Let’s Encrypt |
--email EMAIL |
почта для Let’s Encrypt |
--port N |
порт панели, по умолчанию случайный от 20000 до 60000 |
--no-firewall |
не трогать ufw |
--no-tune |
не менять настройки ядра (BBR, буферы UDP) |
--no-proxy-rule |
с доменом и nginx или Caddy на порту 80: не менять их конфиг, а напечатать правило |
--join KEY |
поставить ноду для другой панели, ключ со страницы «Ноды» |
--panel-ip IP |
для ноды: открыть её порт API только для адреса панели |
--replace-docker |
заменить Docker без compose v2 на Docker с get.docker.com |
-y, --yes |
ничего не спрашивать |
Полный список: mikan install --help.
Что где лежит
Заголовок раздела «Что где лежит»| Путь | Что там |
|---|---|
/opt/mikan/.env, compose.yaml |
настройки запуска и контейнеры |
/opt/mikan/data/panel, data/node |
данные панели и ноды |
/opt/mikan/backups |
бэкапы |
/opt/mikan/data/panel/www |
свой сайт: файлы отдаются по путям, которые панель не занимает, 404.html служит страницей ошибки |
том Docker mikan_pg-data |
база PostgreSQL |
/usr/local/bin/mikan |
команда управления сервером |
Установщик открывает в ufw (если он включён) порт панели, 80, 443 и запасные порты 2053, 2083, 2087, 2096, 2443, 3443, 4443, 5443, 6443, 7443, 8443, 9443, 10443, 11443, 12443 по TCP и UDP. На них автоподбор переносит заблокированные протоколы; mikan update открывает их заново, если список вырос. Если ufw выключен, а у хостера свой файрвол, откройте там хотя бы 443, 8443 и порт панели.
Нода для другой панели
Заголовок раздела «Нода для другой панели»Если панель уже стоит, а нужна ещё одна точка выхода, на новом сервере ставится только нода. Команду с ключом выдаёт страница Ноды, подробнее в разделе Ноды.
Удаление
Заголовок раздела «Удаление»mikan uninstall останавливает контейнеры и удаляет команду, сервисы и настройки ядра. Данные и бэкапы остаются в /opt/mikan, база в томе Docker. Удалить всё совсем:
rm -rf /opt/mikan && docker volume rm mikan_pg-data