Merge branch 'release' into staging

fb1f890974efd97cfb3cea8d9dcd596cea4ee87b

Cohee <18619528+Cohee1207@users.noreply.github.com>

2 files changed, +46 -4Ignore whitespace
.github/readme-ru_ru.md+38 -0
@@ -209,6 +209,44 @@ SillyTavern поддерживает расширения.
2092095. Запустите лаунчер установки: `chmod +x install.sh && ./install.sh` and choose what you wanna install
2102106. После завершения установки, запустите лаунчер следующей командой: `chmod +x launcher.sh && ./launcher.sh`
211211
212+## 🐋 Установка с помощью Docker
213+
214+Предполагается, что вы уже установили Docker, имеете доступ к командной строке для установки контейнеров и знакомы с их базовым управлением.
215+
216+### Сборка образа самостоятельно
217+
218+У нас есть подробное руководство по использованию SillyTavern в Docker [здесь](http://docs.sillytavern.app/installation/docker/), которое охватывает установку на Windows, macOS и Linux! Ознакомьтесь с ним, если хотите создать образ самостоятельно.
219+
220+### Использование реестра контейнеров GitHub (самый простой способ)
221+
222+Для работы SillyTavern вам понадобятся две обязательные настройки каталогов и одна настройка порта. В команде замените указанные значения на свои:
223+
224+#### Переменные контейнера
225+
226+##### Маппинг томов
227+
228+* [config] - директория, где на вашем хосте будут храниться файлы конфигурации SillyTavern.
229+* [data] - директория, где на вашем хосте будут храниться пользовательские данные SillyTavern (включая персонажей).
230+* [plugins] - (необязательно) директория, где на вашем хосте будут храниться плагины сервера SillyTavern.
231+
232+##### Маппинг портов
233+
234+* [PublicPort] - Порт, через который будет передаваться трафик. Это обязательно, так как вы будете обращаться к контейнеру извне его виртуальной машины. НЕ ОТКРЫВАЙТЕ этот порт в интернет без реализации дополнительного уровня безопасности.
235+
236+##### Дополнительные настройки
237+
238+* [DockerNet] - Docker сеть, к которой контейнер должен быть подключен. Если вы не знаете, что это, обратитесь к [официальной документации Docker](https://docs.docker.com/reference/cli/docker/network/).
239+* [version] - на правой части этой страницы GitHub вы найдете раздел "Packages". Выберите пакет "sillytavern", чтобы увидеть версии образов. Тег "latest" позволит вам обновляться до текущего релиза. Также доступны теги "staging" и "release", которые соответствуют ночным сборкам соответствующих веток. Однако это может быть нецелесообразно, если вы используете расширения, которые могут ломаться и требуют времени для обновления.
240+
241+#### Команда установки
242+
243+1. Откройте командную строку
244+2. Выполните следующую команду
245+
246+`docker create --name='sillytavern' --net='[DockerNet]' -p '8000:8000/tcp' -v '[plugins]':'/home/node/app/plugins':'rw' -v '[config]':'/home/node/app/config':'rw' -v '[data]':'/home/node/app/data':'rw' 'ghcr.io/sillytavern/sillytavern:[version]'`
247+
248+> Заметьте, что 8000 является портом по умолчанию. Не забудьте использовать соответствующий порт, если вы измените его в конфиге.
249+
212250## 📱 Мобильные устройства - Установка при помощи termux
213251
214252> **ОБРАТИТЕ ВНИМАНИЕ!**
src/endpoints/chats.js+8 -4
@@ -604,10 +604,14 @@ router.post('/search', jsonParser, function (request, response) {
604604
605605 let targetGroup;
606606 for (const groupFile of groupFiles) {
607- const groupData = JSON.parse(fs.readFileSync(path.join(groupDir, groupFile), 'utf8'));
607+ try {
608- if (groupData.id === group_id) {
608+ const groupData = JSON.parse(fs.readFileSync(path.join(groupDir, groupFile), 'utf8'));
609- targetGroup = groupData;
609+ if (groupData.id === group_id) {
610- break;
610+ targetGroup = groupData;
611+ break;
612+ }
613+ } catch (error) {
614+ console.error(groupFile, 'group file is corrupted:', error);
611615 }
612616 }
613617