fix(install): публичный адрес LiveKit вычисляется после TLS_ENABLED

Установщик падал на 'TLS_ENABLED: unbound variable': расчёт LIVEKIT_PUBLIC_URL
стоял выше определения TLS_ENABLED. Значение перенесено после блока TLS,
dry-run проходит.
This commit is contained in:
2026-09-20 18:13:04 +03:00
parent ecd52c11d3
commit ca34d05377
33 changed files with 2505 additions and 71 deletions
+53 -5
View File
@@ -59,7 +59,15 @@
"file.not_found": "File not found.",
"invite.expired": "This invite has expired.",
"invite.exhausted": "This invite has no uses left.",
"user.not_found": "No user with that username was found."
"user.not_found": "No user with that username was found.",
"emoji": {
"name_taken": "An emoji with that name already exists.",
"invalid_type": "PNG, JPEG, WebP and GIF are supported.",
"invalid_name": "Emoji name: 2–32 characters — latin letters, digits and “_”."
},
"emojis": {
"limit_reached": "The server has reached its emoji limit."
}
},
"theme": {
"switchToLight": "Light theme",
@@ -347,7 +355,13 @@
"title": "Emoji picker",
"quick": "Quick reactions",
"popular": "Popular emoji",
"pick": "React with {{emoji}}"
"pick": "React with {{emoji}}",
"server": "Server emojis",
"search": "Search server emojis",
"searchPlaceholder": "Emoji name",
"notFound": "Nothing found.",
"pickServer": "Pick emoji {{name}}",
"animated": "animated"
},
"edit": {
"label": "Edit message",
@@ -384,7 +398,8 @@
"whisper": "whisper: muted message",
"scream": "loud: large accented text",
"ls": "direct message: /ls username text"
}
},
"emoji": "Emoji"
},
"typing_one": "{{names}} is typing…",
"typing_few": "{{names}} are typing…",
@@ -410,7 +425,14 @@
"show": "Reveal spoiler",
"hide": "Hide spoiler"
},
"logDirect": "Direct conversation with {{name}}"
"logDirect": "Direct conversation with {{name}}",
"system": {
"member": "a member",
"memberJoin": "{{name}} joined the server",
"memberKick": "{{name}} left the server (kicked)",
"channelCreated": "Room #{{name}} created",
"voiceChannelCreated": "Voice room {{name}} created"
}
},
"user": {
"panelLabel": "User panel",
@@ -654,7 +676,33 @@
"deleteConfirmBody": "“{{name}}” will be deleted permanently.",
"deleteConfirm": "Delete"
},
"selectLabel": "Choose a server"
"selectLabel": "Choose a server",
"emojis": {
"title": "Emojis",
"description": "Custom server emojis: up to {{limit}}, 512 KB each.",
"counter": "{{count}} of {{limit}}",
"empty": "The server has no emojis yet.",
"animated": "animated",
"rename": "Rename",
"renameLabel": "Rename emoji {{name}}",
"renameTitle": "Rename emoji",
"delete": "Delete",
"deleteLabel": "Delete emoji {{name}}",
"deleteConfirmTitle": "Delete emoji?",
"deleteConfirmBody": "Emoji {{name}} will be deleted permanently.",
"deleteConfirm": "Delete",
"uploadTitle": "Upload an emoji",
"uploadHint": "Drop a file below or pick one: PNG, JPEG, WebP or GIF up to {{limit}}.",
"name": "Emoji name",
"namePlaceholder": "for example, pepe_happy",
"nameHint": "2–32 characters: latin letters, digits and “_”.",
"dropHint": "Drop a file here",
"chooseFile": "Choose file",
"file": "Emoji file",
"fileSelected": "{{name}} · {{size}}",
"upload": "Upload",
"uploading": "Uploading…"
}
},
"navLabel": "Settings sections",
"notifications": {
+53 -5
View File
@@ -59,7 +59,15 @@
"file.not_found": "Файл не найден.",
"invite.expired": "Срок действия приглашения истёк.",
"invite.exhausted": "У приглашения больше не осталось использований.",
"user.not_found": "Пользователь с таким логином не найден."
"user.not_found": "Пользователь с таким логином не найден.",
"emoji": {
"name_taken": "Эмодзи с таким именем уже есть.",
"invalid_type": "Поддерживаются PNG, JPEG, WebP и GIF.",
"invalid_name": "Имя эмодзи: 2–32 символа, латиница, цифры и «_»."
},
"emojis": {
"limit_reached": "На сервере достигнут лимит эмодзи."
}
},
"theme": {
"switchToLight": "Светлая тема",
@@ -347,7 +355,13 @@
"title": "Выбор эмодзи",
"quick": "Быстрые реакции",
"popular": "Популярные эмодзи",
"pick": "Поставить реакцию {{emoji}}"
"pick": "Поставить реакцию {{emoji}}",
"server": "Эмодзи сервера",
"search": "Поиск эмодзи сервера",
"searchPlaceholder": "Имя эмодзи",
"notFound": "Ничего не найдено.",
"pickServer": "Выбрать эмодзи {{name}}",
"animated": "анимированный"
},
"edit": {
"label": "Редактирование сообщения",
@@ -384,7 +398,8 @@
"whisper": "шёпот: приглушённое сообщение",
"scream": "громко: крупный акцентный текст",
"ls": "личное сообщение: /ls логин текст"
}
},
"emoji": "Эмодзи"
},
"typing_one": "{{names}} печатает…",
"typing_few": "{{names}} печатают…",
@@ -410,7 +425,14 @@
"show": "Показать спойлер",
"hide": "Скрыть спойлер"
},
"logDirect": "Личная беседа с {{name}}"
"logDirect": "Личная беседа с {{name}}",
"system": {
"member": "участник",
"memberJoin": "{{name}} присоединился к серверу",
"memberKick": "{{name}} покинул сервер (исключён)",
"channelCreated": "Комната #{{name}} создана",
"voiceChannelCreated": "Голосовая комната {{name}} создана"
}
},
"user": {
"panelLabel": "Панель пользователя",
@@ -654,7 +676,33 @@
"deleteConfirmBody": "Сервер «{{name}}» будет удалён без возможности восстановления.",
"deleteConfirm": "Удалить"
},
"selectLabel": "Выбрать сервер"
"selectLabel": "Выбрать сервер",
"emojis": {
"title": "Эмодзи",
"description": "Кастомные эмодзи сервера: до {{limit}} штук, каждый до 512 КБ.",
"counter": "{{count}} из {{limit}}",
"empty": "На сервере пока нет эмодзи.",
"animated": "анимированный",
"rename": "Переименовать",
"renameLabel": "Переименовать эмодзи {{name}}",
"renameTitle": "Переименовать эмодзи",
"delete": "Удалить",
"deleteLabel": "Удалить эмодзи {{name}}",
"deleteConfirmTitle": "Удалить эмодзи?",
"deleteConfirmBody": "Эмодзи {{name}} будет удалён без возможности восстановления.",
"deleteConfirm": "Удалить",
"uploadTitle": "Загрузить эмодзи",
"uploadHint": "Перетащите файл в область ниже или выберите его: PNG, JPEG, WebP или GIF до {{limit}}.",
"name": "Имя эмодзи",
"namePlaceholder": "например, pepe_happy",
"nameHint": "2–32 символа: латиница, цифры и «_».",
"dropHint": "Перетащите файл сюда",
"chooseFile": "Выбрать файл",
"file": "Файл эмодзи",
"fileSelected": "{{name}} · {{size}}",
"upload": "Загрузить",
"uploading": "Загружаем…"
}
},
"navLabel": "Пункты настроек",
"notifications": {