Appearance
Обновление стенда
Штатная процедура
Скачайте дистрибутив новой версии (как при установке), распакуйте рядом и запустите update.sh, указав каталог установки. Даунтайм — секунды на пересоздание контейнеров; для пользователей это выглядит как разрыв WebSocket с автоматическим переподключением.
bash
tar -xzf orbita-onpremise-<новая версия>.tar.gz
cd orbita-onpremise-<новая версия>
sudo ./update.sh --target /opt/orbitaСкрипт сам: загрузит новые образы, обновит файлы дистрибутива (не трогая .env, TLS-сертификаты и конфигурацию Traefik), пересоздаст контейнеры, применит миграции БД и перезапустит воркеры очередей.
Сначала бэкап
Перед обновлением скрипт предложит сделать резервную копию — не отказывайтесь: миграции БД назад не откатываются. sudo ./backup.sh из каталога установки делает всё сам.
Переводы интерфейса
Переводы и системные роли доезжают через миграции — отдельно сеять ничего не нужно. Если после обновления в интерфейсе видны «голые» ключи переводов — сначала проверьте, что миграции прошли без ошибок.
Проверка после обновления
bash
cd /opt/orbita
# Контейнеры поднялись и не рестартуют
docker compose ps
# Версия сменилась
curl -sk https://<домен>/api/app-config | grep -o '"version":"[^"]*"'
# Миграции применены (нет pending)
docker compose exec backend php artisan migrate:status | tail -10
# Нет свежих ошибок
docker compose logs backend --since 5m 2>&1 | grep -i error | headВ браузере: логин, открытие любой записи, загрузка вложения, приход realtime-уведомления.
Откат
Старые образы остаются в Docker после обновления — откат не требует скачивания:
bash
sudo sed -i 's|^ORBITA_VERSION=.*|ORBITA_VERSION=<прежняя версия>|' /opt/orbita/.env
cd /opt/orbita && docker compose up -d
docker compose exec backend php artisan queue:restartМиграции назад не откатываются
migrate:rollback на проде не используется: миграции содержат данные (переводы, права) и необратимые изменения схемы. Если обновление содержало миграции — сначала восстановите бэкап БД, затем откатывайте версию.
Обновление инфраструктурных образов
Postgres/Redis/Meilisearch/SeaweedFS обновляются поставщиком вместе с дистрибутивом — их версии зафиксированы в docker-compose.yml бандла. Особый случай — мажорное обновление PostgreSQL (16 → 17): тома данных несовместимы между мажорными версиями, нужен dump/restore:
bash
docker compose exec database pg_dump -U orbita orbita > pre_upgrade.sql
# поменять тег образа, удалить старый volume, поднять новую БД, восстановить дампТакое обновление анонсируется в примечаниях к релизу — планируйте отдельным окном обслуживания.