feat(admin): manage server updates and local configuration
ci / api / api (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / release (версия и заметки) (push) Successful in 5s
release / android (APK в релиз) (push) Successful in 4m6s
ci / db / db (push) Successful in 1m15s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m19s
ci / ts / ts (packages + web) (push) Successful in 2m34s
release / desktop (Linux и Windows в релиз) (push) Successful in 14m27s
release / prune (старые файлы и прогоны) (push) Successful in 6s
ci / api / api (push) Successful in 52s
ci / contract / contract (сгенерированный код совпадает с openapi.yaml) (push) Successful in 1m9s
ci / mobile / mobile (Metro-бандл Android) (push) Successful in 1m35s
release / release (версия и заметки) (push) Successful in 5s
release / android (APK в релиз) (push) Successful in 4m6s
ci / db / db (push) Successful in 1m15s
ci / docker / docker (образы собираются — их сервер собирает сам при обновлении) (push) Successful in 1m19s
ci / ts / ts (packages + web) (push) Successful in 2m34s
release / desktop (Linux и Windows в релиз) (push) Successful in 14m27s
release / prune (старые файлы и прогоны) (push) Successful in 6s
This commit is contained in:
1 parent
e33abc948c
commit
a29a8b18ad
49 files changed
+3604
-353
No files matched your search
@@ -32,7 +32,10 @@
|
||||
"recs_confirm": "Сбросить рекомендации {{username}}? Волна начнёт подбирать музыку с нуля и снова спросит любимых исполнителей. Лайки и история останутся.",
|
||||
"recs_done": "Рекомендации {{username}} сброшены",
|
||||
"confirm": "Подтвердить",
|
||||
"you": "вы"
|
||||
"you": "вы",
|
||||
"manage_updates": "Обновление сервера",
|
||||
"grant_updates": "Дать управление обновлениями",
|
||||
"revoke_updates": "Забрать управление обновлениями"
|
||||
},
|
||||
"create": {
|
||||
"title": "Новый пользователь",
|
||||
@@ -71,7 +74,8 @@
|
||||
"user.unblock": "Пользователь разблокирован",
|
||||
"user.password_reset": "Сброшен пароль",
|
||||
"user.recommendations_reset": "Сброшены рекомендации",
|
||||
"user.delete": "Пользователь удалён"
|
||||
"user.delete": "Пользователь удалён",
|
||||
"user.manages_updates": "Изменены права обновления сервера"
|
||||
}
|
||||
},
|
||||
"sources": {
|
||||
@@ -378,5 +382,85 @@
|
||||
"server_settings": {
|
||||
"title": "Настройки сервера",
|
||||
"subtitle": "Параметры, которые действуют для всех пользователей"
|
||||
},
|
||||
"management": {
|
||||
"server": "Управление сервером",
|
||||
"updates": "Обновления",
|
||||
"config": "Конфигурация",
|
||||
"updates_intro": "Выберите источник и версию. Сервер выполнит сборку и покажет результат.",
|
||||
"refresh": "Обновить статус",
|
||||
"current": "Установленная версия",
|
||||
"manual": "Обновления запускаются вручную. Последний стабильный релиз выбирается в момент запуска.",
|
||||
"update_target": "Следующее обновление",
|
||||
"sources": "Источники обновлений",
|
||||
"source": "Источник",
|
||||
"channel": "Тип обновления",
|
||||
"channel_latest": "Последний релиз",
|
||||
"channel_version": "Выбрать версию",
|
||||
"channel_main": "main",
|
||||
"hint_latest": "Будет установлен последний стабильный тег без release candidate.",
|
||||
"hint_version": "Можно выбрать опубликованный тег. Переход на старую версию требует ручного отката.",
|
||||
"hint_main": "Текущее состояние ветки main. Может содержать ещё не выпущенные изменения.",
|
||||
"version": "Версия",
|
||||
"choose_version": "Выберите версию",
|
||||
"source_unavailable": "Не удалось прочитать репозиторий. Проверьте адрес, доступ сервера и SSH-ключи.",
|
||||
"install": "Установить обновление",
|
||||
"confirm_update": "Обновить сервер?",
|
||||
"confirm_update_text": "Источник: {{source}}. Цель: {{target}}.",
|
||||
"update_warning": "Во время перезапуска сервис временно недоступен. Перед обновлением сделайте резервную копию базы. Миграции назад не откатываются.",
|
||||
"cancel": "Отмена",
|
||||
"sources_hint": "Git-репозитории с совместимой структурой Pipu. HTTP(S) или SSH; для приватных репозиториев настройте ключи на хосте агента. Не вставляйте токены в адрес.",
|
||||
"source_name": "Название",
|
||||
"repository": "URL Git-репозитория",
|
||||
"remove_source": "Удалить источник",
|
||||
"add_source": "Добавить источник",
|
||||
"save": "Сохранить",
|
||||
"job": "Последняя операция",
|
||||
"started": "Начало",
|
||||
"finished": "Завершение",
|
||||
"log": "Журнал выполнения",
|
||||
"waiting": "Ожидаем вывод команды…",
|
||||
"running_hint": "Задача выполняется на сервере. Страницу можно закрыть — выполнение продолжится.",
|
||||
"reconnecting": "Сервисы перезапускаются. Ждём восстановления связи с сервером…",
|
||||
"state": {
|
||||
"running": "Выполняется",
|
||||
"succeeded": "Готово",
|
||||
"failed": "Ошибка"
|
||||
},
|
||||
"config_intro": "Настройки API, рекомендателя и развёртывания в deploy/config.local.",
|
||||
"priority": "Порядок приоритета",
|
||||
"defaults": "по умолчанию",
|
||||
"priority_hint": "Значения из .env перекрывают config.local. Сохранение и применение — отдельные действия.",
|
||||
"search": "Поиск по названию настройки",
|
||||
"group": "Раздел",
|
||||
"all": "Все разделы",
|
||||
"groups": {
|
||||
"api": "API",
|
||||
"deployment": "Развёртывание",
|
||||
"shared": "Общие",
|
||||
"recommender": "Рекомендатель"
|
||||
},
|
||||
"config_files_hint": "Показаны поддерживаемые параметры. «После применения» — значение из .env, config.local или значение по умолчанию. Фиксированные пути и служебные параметры доступны для просмотра. Секреты можно заменить, их значения скрыты.",
|
||||
"value_source": {
|
||||
"env": "Из .env",
|
||||
"local": "Из config.local",
|
||||
"default": "По умолчанию"
|
||||
},
|
||||
"effective": "После применения",
|
||||
"readonly": "Служебный параметр. Меняется на хосте с учётом конфигурации Compose.",
|
||||
"secret_saved": "Секрет сохранён",
|
||||
"will_reset": "Локальное значение будет удалено при сохранении.",
|
||||
"overridden": "В .env есть значение: оно имеет приоритет. Локальное изменение пока не вступит в силу.",
|
||||
"secret_hint": "Оставьте поле без изменений, чтобы сохранить секрет. Введите новое значение для замены.",
|
||||
"default": "По умолчанию",
|
||||
"reset": "Сбросить локальное",
|
||||
"no_results": "Настройки не найдены",
|
||||
"saved": "Изменения сохранены в config.local",
|
||||
"unsaved": "Несохранённых параметров: {{count}}",
|
||||
"pending_restart": "Сохранённые изменения ожидают применения",
|
||||
"no_changes": "Нет изменений для применения",
|
||||
"discard": "Отменить правки",
|
||||
"apply": "Применить и перезапустить",
|
||||
"apply_warning": "Контейнеры будут пересозданы с сохранённой конфигурацией. Сервис временно недоступен; данные в постоянных томах сохранятся. Значения из .env продолжат иметь приоритет."
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user