РазделОбновление
ДокументацияНачало
Обновление панели
Версия выпускается тегом; всё остальное делает CI. Тег v0.8.10 собирает .deb и
.rpm под amd64 и arm64, подписывает список контрольных сумм ключом ed25519 из
секрета репозитория и публикует релиз; текст аннотированного тега становится
описанием релиза.
make keygen # один раз: ключ подписи (приватный — в секрет MONOPANEL_RELEASE_KEY)
make release VERSION=0.8.10 # тег + push, дальше CI собирает и публикует
make packages VERSION=0.8.10 # то же локально, без публикацииНа сервере:
mp update trust --key <публичный ключ> # пишется в config.yaml, доступен только root
mp update settings --repo owner/name # --token-stdin для приватного репозитория
mp update # что установлено и что доступно
mp update apply # скачать, проверить, установить, перезапуститьсяПроверка идёт по расписанию (по умолчанию раз в сутки), --auto-apply ставит
обновление без участия человека. Устанавливает не сама панель: агент запускает
transient-юнит monopanel-update.service, который переживает перезапуск API и агента
и возвращает прежний бинарник, если новая версия не отвечает. Пока задан ключ,
неподписанный релиз не установится. Медленный канал не помеха: у загрузки пакета нет
общего таймаута, обрывается только застывший поток.