diff --git a/docs/.vitepress/config.js b/docs/.vitepress/config.js
index e5b0761..06c16a4 100644
--- a/docs/.vitepress/config.js
+++ b/docs/.vitepress/config.js
@@ -150,6 +150,7 @@ function sidebarDocs() {
collapsed: false,
items: [
{ text: 'PHP cli селектор', link: '/docs/extensions/php-cli-selector.md' },
+ { text: 'Расширенные модули', link: '/docs/extensions/extended-modules.md' },
],
},
];
diff --git a/docs/docs/extensions/extended-modules.md b/docs/docs/extensions/extended-modules.md
new file mode 100644
index 0000000..a59f5f2
--- /dev/null
+++ b/docs/docs/extensions/extended-modules.md
@@ -0,0 +1,150 @@
+# Расширенные модули
+
+## Что такое модули
+
+Модули расширения панели позволяют расширять функционал панели.
+
+## Как управлять модулями
+
+Для доступа к модулям расширения необходимо из-под пользователя `admin` перейти в `Настройки сервера`:
+
+
+
+Далее в строке выбора настроек выбрать `Доп. модули`:
+
+
+
+Далее откроется страинца достпных модулей и их сотояния.
+
+Пример страницы с демонстрационными модулями приведен ниже:
+
+
+
+Данная страница содержит следующую информацию:
+
+- **ID модуля** - числовой идентификатор модуля
+- **Имя модуля** - сивольный идентификатор модуля
+- **Описание модуля** - краткая ифнормация о модуле
+- **Состояние** - включен(enabled) или выключен(disabled)
+- **Зависимости** - список модулей, которые должны быть включены для работы текущего модуля
+- **Конфигурация** - дополнительные настройки модуля (при наличии)
+
+Если модуль выключен, его состояние отображается как disabled.
+
+Для включения модуля необходимо нажать на кнопку , для выключения модуля необходимо нажать на кнопку .
+
+## Список предустановленных модулей
+
+- **puppet_installer** - установить puppet, для большинства модулей требуется puppet для изменения конфигурации системы, поэтому требуется, чтоб этот модуль был включен, при включении он установит puppet в систему.
+- **empty_module** - пустой модуль, его включение или выключение не начто не влияет, является примером написания модулей
+- **passenger_manager** - модуль по установке и настройке passenger в систему.
+
+## Управление модулями из командной строки
+
+Для управления модулями используется утилита `v-ext-modules`.
+
+Доступные команды:
+
+- **list** - вывести список доступных модулей
+- **enable module_name** - включить модуль
+- **disable module_name** - выключить модуль
+- **state module_name** - состояние модуля
+
+Примеры:
+
+```
+# v-ext-modules list csv
+1,puppet_installer,"Added puppet support, needed for another modules","","",enabled
+2,passenger_manager,Added passenger support for nginx,puppet_installer,yes,enabled
+3,empty_module,Just empty module for storing max module id,"","",disabled
+```
+
+```
+# v-ext-modules state passenger_manager
+ ID NAME DESCR STATE REQ CONF
+ -- ---- ----- ----- --- ----
+ 2 passenger_manager Added passenger support for nginx enabled puppet_installer yes
+```
+
+## passenger_manager
+
+Модуль, для добавления поддержки passenger+nginx для запуска (пока что только) ruby приложений.
+
+### passenger_manager настройка
+
+Для настройки модуля нажмите на ссылку `Изменить`:
+
+
+
+Откроется страница вида:
+
+
+
+- **Добавить новый путь ruby** - добавить путь к бинарному файлу интерпретатору ruby, если его еще нет в списке ниже
+- **Ruby list** - список достпных для выбора ruby интерпретаторов. Для удаления ruby из списка необходимо нажать на значек .
+
+При активации `passenger_manager` в меню настройки домена для пользователя появляется кнопка `Настройки passenger`:
+
+
+
+При нажатии на которую открывается форма:
+
+
+
+Где можно активировать passenger для домена установкой галочки `Включить passenger для домена`, а так же выбрать из списка ruby.
+
+Галочка `Включить логирование в браузер`, активирует вывод лога ошибки приложения в браузер, рекомендуется ее включать только при настройке приложения.
+
+Пример установки приложения:
+
+пусть есть пользователь `test2` и домен `ttt142.my.brp`, для него активируется passenger.
+
+Для него генерируются следующие настройки:
+
+```
+location / {
+ passenger_base_uri /;
+ passenger_app_root /home/test2/web/ttt142.my.brp/private;
+ passenger_document_root /home/test2/web/ttt142.my.brp/public_html;
+ passenger_startup_file config.rb;
+ passenger_app_type rack;
+}
+```
+
+В `config.rb` необходимо поместить инструкции запуска приложения:
+
+```
+# encoding: UTF-8
+require './test'
+run Sinatra::Application
+```
+
+и соновное приложение разметсить в каталоге `/home/test2/web/ttt142.my.brp/private`.
+
+Остальная логика будет размещена в `test.rb`, для примера вот так:
+
+```
+!/usr/bin/env ruby
+
+require 'sinatra'
+get '/' do
+ "Hello #{Process.uid}"
+end
+```
+
+Статические файлы располагать в каталоге `/home/test2/web/ttt142.my.brp/public_html`, а так же из этого каталога удалить файл `index.html` создаваемый как заглушка для пустого сайта.
+
+Так же создать файл `Gemfile` в каталоге `/home/test2/web/ttt142.my.brp/private` и выполнить от пользователя:
+
+```
+bundle config set --local path 'vendor'
+bundle install
+```
+
+или по старому:
+
+```
+bundle install --path=vendor
+```
+
+для установки пользователю необходимых гемов локально.
\ No newline at end of file
diff --git a/docs/docs/index.md b/docs/docs/index.md
index e22a638..b32587f 100644
--- a/docs/docs/index.md
+++ b/docs/docs/index.md
@@ -59,4 +59,4 @@
## Дополнения
- [PHP cli селектор](/docs/extensions/php-cli-selector.md')
-
+- [Расширенные модули](/docs/extensions/extended-modules.md')
diff --git a/docs/docs/server-administration/web-templates.md b/docs/docs/server-administration/web-templates.md
index 7888578..b627203 100644
--- a/docs/docs/server-administration/web-templates.md
+++ b/docs/docs/server-administration/web-templates.md
@@ -83,13 +83,13 @@ cp original.sh new.sh
## Установка модулей PHP
```bash
-apt install php-package-name
+dnf install php-package-name
```
Например, следующая команда установит `php-memcached` и `php-redis`, включая необходимые дополнительные пакеты для PHP.
```bash
-apt install php-memcached php-redis
+dnf install php-memcached php-redis
```
## Nginx FastCGI Cache
@@ -102,12 +102,6 @@ FastCGI применяется только для сервера Nginx + PHP-FP
Кэш FastCGI лучше всего подходит для сайтов, получающих много запросов и страницы которых не так часто меняются, например, новостной сайт. Для более динамичных сайтов могут потребоваться изменения в конфигурации или полное его отключение.
-### Почему программные пакеты x и y не работают с кэшем FastCGI
-
-Поскольку у нас более 20 различных шаблонов, и мы не используем их все, мы решили прекратить выпуск новых в будущем и надеемся, что сообщество поможет улучшить шаблоны, [отправив запрос на извлечение](https://github.com/hestiacp/hestiacp/pulls).
-
-Если вы хотите добавить поддержку определенного шаблона, следуйте инструкциям ниже.
-
### Как включить кэш FastCGI для моего пользовательского шаблона
Найдите блок, в котором вы вызываете `fastcgi_pass`:
@@ -153,7 +147,7 @@ v-purge-nginx-cache user domain.tld
Да, Hestia отлично работает с веб-сокетами, однако наши шаблоны по умолчанию включают по умолчанию:
```bash
-proxy_hide_header Обновление
+proxy_hide_header Upgrade
```
Это решило проблему с загрузкой веб-сайтов Safari.
diff --git a/docs/docs/user-guide/web-domains.md b/docs/docs/user-guide/web-domains.md
index a733a55..b99f324 100644
--- a/docs/docs/user-guide/web-domains.md
+++ b/docs/docs/user-guide/web-domains.md
@@ -123,8 +123,12 @@
Здесь также будут отображаться любые пользовательские шаблоны.
+- **srvproxy**: шаблон для конфигурации прокси для любого внутреннего сервиса, например gitea, который запускается и присоединеятся к порту или создает unix-сокет. При выборе данного шаблона, появляется дополнительное поле `Установить порт для локального сервиса`, в котором нужно указать путь к unix-сокету или порт внутреннего сервиса. В качестве шаблона Backend в данном случае можно выбрать `no-php`, т.к. в данном случае бакэндом будет сервис.
+
+
+
::: tip
-Любые пользовательские шаблоны, начинающиеся с `caching-`, позволят использовать кнопку ** Очистить кэш Nginx**. Убедитесь, что файл `.sh` существует для `caching-my-template` с как минимум [этим содержимым](https://github.com/hestiacp/hestiacp/blob/main/install/deb/templates/web/nginx/caching.sh)
+Любые пользовательские шаблоны, начинающиеся с `caching-`, позволят использовать кнопку ** Очистить кэш Nginx**. Убедитесь, что файл `.sh` существует для `caching-my-template` с как минимум [этим содержимым](https://dev.brepo.ru/bayrepo/hestiacp/raw/branch/master/install/rpm/templates/web/nginx/caching.sh)
:::
### Веб-шаблоны
diff --git a/docs/public/images/ext_modules_step1.png b/docs/public/images/ext_modules_step1.png
new file mode 100644
index 0000000..6deb3be
Binary files /dev/null and b/docs/public/images/ext_modules_step1.png differ
diff --git a/docs/public/images/ext_modules_step2.png b/docs/public/images/ext_modules_step2.png
new file mode 100644
index 0000000..f818a4b
Binary files /dev/null and b/docs/public/images/ext_modules_step2.png differ
diff --git a/docs/public/images/ext_modules_step3.png b/docs/public/images/ext_modules_step3.png
new file mode 100644
index 0000000..549289f
Binary files /dev/null and b/docs/public/images/ext_modules_step3.png differ
diff --git a/docs/public/images/ext_modules_step4.png b/docs/public/images/ext_modules_step4.png
new file mode 100644
index 0000000..a0fc3b1
Binary files /dev/null and b/docs/public/images/ext_modules_step4.png differ
diff --git a/docs/public/images/ext_modules_step5.png b/docs/public/images/ext_modules_step5.png
new file mode 100644
index 0000000..cafd33a
Binary files /dev/null and b/docs/public/images/ext_modules_step5.png differ
diff --git a/docs/public/images/ext_modules_step6.png b/docs/public/images/ext_modules_step6.png
new file mode 100644
index 0000000..75be000
Binary files /dev/null and b/docs/public/images/ext_modules_step6.png differ
diff --git a/docs/public/images/ext_modules_step7.png b/docs/public/images/ext_modules_step7.png
new file mode 100644
index 0000000..460c8cd
Binary files /dev/null and b/docs/public/images/ext_modules_step7.png differ
diff --git a/docs/public/images/proxy_domain.png b/docs/public/images/proxy_domain.png
new file mode 100644
index 0000000..42d650e
Binary files /dev/null and b/docs/public/images/proxy_domain.png differ
diff --git a/src/rpm/hestia/hestia.spec b/src/rpm/hestia/hestia.spec
index ff6eb00..9327e8f 100644
--- a/src/rpm/hestia/hestia.spec
+++ b/src/rpm/hestia/hestia.spec
@@ -2,7 +2,7 @@
%global _hardened_build 1
Name: hestia
-Version: 1.8.6
+Version: 1.9.1
Release: 1%{dist}
Summary: Hestia Control Panel
Group: System Environment/Base
@@ -187,6 +187,11 @@ fi
%{_tmpfilesdir}/%{name}.conf
%changelog
+* Mon Dec 30 2024 Alexey Berezhok - 1.9.1-1
+- Added port specification ofor local services on domain editing
+- Added support extended modules
+- Added support passenger with nginx and ruby
+
* Thu Sep 05 2024 Alexey Berezhok - 1.8.6-1
- Fixed firewall rules restoring on system reboot
diff --git a/web/locale/README b/web/locale/README
index fdd2b91..c4ec088 100644
--- a/web/locale/README
+++ b/web/locale/README
@@ -26,4 +26,8 @@
```
получаем файл ru/LC_MESSAGES/hestiacp.po.new
+## Обновление mo файла после добавления локализации
+```
+./hst_convert_po2mo.sh ru
+```