Skip to content

Файлы и порты ​

Где панель и узел хранят данные на диске, какие порты слушают и какие переменные окружения меняют их поведение. Всё, что здесь не перечислено, — от администраторов и настроек до пользователей и сертификатов, — хранится в базе панели и управляется из панели.

Файлы панели ​

ПутьЧто это
/opt/nexora-panel/nexora-panelпрограмма
/opt/nexora-panel/nexora-panel.previousпрограмма до последнего обновления, сохраняется для отката
/opt/nexora-panel/config.jsonподключение к базе и больше ничего
/var/opt/nexora/nexora.dbбаза SQLite (пока панель работает, рядом лежат файлы -wal и -shm)
/var/opt/nexora/bin/бинарные файлы узла, которые панель отдаёт установщикам узлов
/var/opt/nexora/sub-themes/темы страницы подписки
/var/opt/nexora/presets/ваши собственные файлы каталога пресетов, добавляемые к встроенным
/var/opt/nexora/backups/архивы резервных копий и снимки перед восстановлением (читать может только root)
/var/opt/nexora/rulesets/копии файлов наборов правил, которые панель отдаёт узлам; можно очистить, панель скачает их заново
/etc/systemd/system/nexora-panel.serviceслужба

Копирование файлов базы при работающей панели — не резервная копия. Используйте резервное копирование самой панели (Резервное копирование и восстановление): оно снимает согласованную копию, ничего не останавливая.

config.json выглядит так:

json
{ "db": { "driver": "sqlite", "dsn": "/var/opt/nexora/nexora.db" } }

С PostgreSQL driver равен postgres, а dsn — строка подключения. max_open_conns задаёт размер пула соединений; не указывайте его, если только сервер PostgreSQL не используется ещё и другими программами.

В Docker ​

Каждый стек панели хранит то, что должно пережить контейнер, рядом со своим файлом compose:

ПутьЧто это
./dataбаза SQLite (стек с PostgreSQL использует именованный том)
./backupsархивы резервных копий
./binбинарные файлы узла
./rulesetsкопии наборов правил; можно очистить
./sub-themesтемы страницы подписки

Файлы узла ​

ПутьЧто это
/opt/nexora-node/nexora-nodeпрограмма
/opt/nexora-node/config.jsonадрес управляющего порта и пути к сертификатам, больше ничего
/var/opt/nexora/certs/ssl_cert.pemсобственный сертификат узла
/var/opt/nexora/certs/ssl_key.pemего закрытый ключ
/var/opt/nexora/certs/panel_ca.pemсертификат панели — единственный, который принимает узел
/var/opt/nexora/cache/наборы правил и другие файлы, присланные панелью; можно удалить, панель пришлёт их снова
/etc/systemd/system/nexora-node.serviceслужба

Всё, что обслуживает узел, присылает панель, и хранится это в памяти. Перезапущенный узел ничего не обслуживает, пока панель снова не пришлёт ему конфигурацию, а это занимает секунды. Сертификаты — единственные файлы на узле, которые стоит резервировать.

В Docker узел хранит ./certs и ./cache рядом со своим файлом compose.

Когда панель и узел делят сервер, /var/opt/nexora содержит данные обоих: база, bin, backups и остальное принадлежат панели, а certs и cache — узлу. См. Панель и узел на одном сервере.

Порты ​

ПортКтоЧто
случайный высокий TCP-портпанель (установка скриптом)веб-интерфейс панели, API и подписки. Установщик выбирает свободный порт и печатает его
2095 TCPпанель (Docker)то же самое, порт закреплён в файле compose
62050 TCPузелуправляющий порт. Пользоваться им может только панель; разрешайте его только с адреса панели
порты инбаундовузелто, к чему подключаются ваши пользователи; выбирается в панели
5432 TCP, только локальноPostgreSQL (с --postgres)база, к которой панель обращается на 127.0.0.1

Порт панели можно изменить в мастере настройки, позже — на странице настроек или командой nexora-panel config set web_listen_port. И панель, и узел слушают IPv6 и IPv4 одновременно, а на сервере с выключенным IPv6 переходят на IPv4.

Переменные окружения ​

Панель ​

ПеременнаяДействие
NEXORA_DB_DRIVERsqlite или postgres
NEXORA_DB_DSNподключение к базе: путь к файлу для SQLite, строка подключения для PostgreSQL
NEXORA_DB_MAX_OPEN_CONNSразмер пула соединений с базой
NEXORA_WEB_LISTENзакрепляет адрес прослушивания (IP:PORT). Тогда панель игнорирует адрес из своих настроек, и мастер настройки не может его изменить. Так работают стеки Docker

Они имеют приоритет над config.json. nexora-panel run -listen IP:PORT закрепляет адрес так же, как NEXORA_WEB_LISTEN.

Узел ​

ПеременнаяДействие
NEXORA_NODE_LISTENадрес управляющего порта, по умолчанию [::]:62050
NEXORA_NODE_CERTфайл сертификата узла
NEXORA_NODE_KEYфайл его закрытого ключа
NEXORA_NODE_CLIENT_CAфайл сертификата панели
NEXORA_STATE_DIRкаталог для certs и cache, по умолчанию /var/opt/nexora

Они имеют приоритет над config.json узла. Установщик узла также читает NEXORA_INSTALL_TOKEN вместо --token.

Текст и изображения — CC BY 4.0.