Установка на Альт Линукс

Содержание комплекта поставки

  • orgnavigator.zip — Архив с приложением

Предполагаем, что все действия будут выполняться от пользователя root.

Тестирование производилось на Альт Сервер 10. В версии 11 должно работать аналогично. Возможно, со временем появится новая версия PostgreSQL.

Установка дополнительных утилит

Установим утилиты, которые будем использовать на этапе установки. Можете их не устанавливать, но придётся самостоятельно искать замену. Порядок действий и содержание шагов от этого не изменится.

apt-get update
apt-get install wget nano

Установка Node.js

Скачиваем бинарные файлы Node.js версии 20.9 или выше.

Взять можно на официальном сайте здесь: https://nodejs.org/en/download. Кнопка Standalone Binary (.xz).

Пример команд:

wget https://nodejs.org/dist/v24.16.0/node-v24.16.0-linux-x64.tar.xz
mkdir -p /opt/node/
tar -xf node-v24.16.0-linux-x64.tar.xz -C /opt/node/

Распаковка архива

Распакуйте архив orgnavigator.zip в каталог, в котором будут храниться данные приложения.

unzip orgnavigator.zip -d /opt/

Создание пользователя

Создайте пользователя для работы службы и назначьте его владельцев каталога с приложением:

useradd -r -s /usr/sbin/nologin -d /opt/orgnavigator orgnavigator
chown -R orgnavigator:orgnavigator /opt/orgnavigator

Подготовка СУБД

Установка PostgreSQL

Если уже есть, можно пропустить.

apt-get install postgresql17 postgresql17-server
/etc/init.d/postgresql initdb
systemctl enable --now postgresql.service

Создание пользователя в PostgreSQL

Создайте пользователя для работы с базой данных. Например, так:

psql -U postgres -c "CREATE USER orgnavigator WITH LOGIN PASSWORD 'wc2jO2E5TWLGuOPPk1OcTq' CREATEDB;"

Создание базы данных

Создайте базу данных и назначьте владельцем созданного пользователя. Например, так:

psql -U postgres -c "CREATE DATABASE orgnavigator OWNER orgnavigator;"

Создание структуры базы данных

Подключитесь к базе данных от имени созданного пользователя и выполните скрипт из файла init.sql для создания структуры.

Пример для создания пустой БД:

psql -U orgnavigator -d orgnavigator -f /opt/orgnavigator/init.sql

Пример для создания БД с тестовыми данными:

psql -U orgnavigator -d orgnavigator -f /opt/orgnavigator/example.sql

Настройка приложения

В каталоге с приложением в файле .env.production измените параметры подключения к БД и ключ для шифрования сессий пользователей JWT_SECRET.

Создание службы

Создайте файл /etc/systemd/system/orgnavigator.service с описанием службы. Пример ниже. Возможно, потребуется исправить пути к nodejs.

[Unit]
Description=OrgNavigator Node.js Application
Documentation=https://orgnavigator.ru/docs
#After=network.target postgresql.service
#Wants=postgresql.service

[Service]
Type=simple
User=orgnavigator
Group=orgnavigator
WorkingDirectory=/opt/orgnavigator
ExecStart=/opt/node/node-v24.16.0-linux-x64/bin/node /opt/orgnavigator/server.js
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=NODE_ENV=production
Environment=PORT=3001

[Install]
WantedBy=multi-user.target

Обновите данные служб и добавьте Оргнавигатор в автозапуск:

systemctl daemon-reload
systemctl enable --now orgnavigator

Доступ к приложению

После запуска сервера приложение будет доступно по адресу:

http://server-ip:3001

Начало работы

Первые шаги описаны в отдельной статье.