Установка на Debian
Содержание комплекта поставки
- orgnavigator.zip — Архив с приложением
Предполагаем, что все действия будут выполняться от пользователя root.
Тестирование производилось на Debian 12. В остальных должно работать аналогично. Возможно, будет другая версия PostgreSQL.
Установка дополнительных утилит
Установим утилиты, которые будем использовать на этапе установки. Можете их не устанавливать, но придётся самостоятельно искать замену. Порядок действий и содержание шагов от этого не изменится.
apt-get update
apt-get install wget unzip xz-utils
Установка 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 postgresql
Создание пользователя в PostgreSQL
Создайте пользователя для работы с базой данных. Например, так:
cd /tmp
sudo -u postgres psql -U postgres -c "CREATE USER orgnavigator WITH LOGIN PASSWORD 'wc2jO2E5TWLGuOPPk1OcTq' CREATEDB;"
Создание базы данных
Создайте базу данных и назначьте владельцем созданного пользователя. Например, так:
sudo -u postgres psql -U postgres -c "CREATE DATABASE orgnavigator OWNER orgnavigator;"
Создание структуры базы данных
Подключитесь к базе данных от имени созданного пользователя и выполните скрипт из файла init.sql для создания структуры.
Пример для создания пустой БД:
sudo -u orgnavigator psql -U orgnavigator -d orgnavigator -f /opt/orgnavigator/init.sql
Пример для создания БД с тестовыми данными:
sudo -u orgnavigator 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
Доступ к приложению
После запуска сервера приложение будет доступно по адресу:
Начало работы
Первые шаги описаны в отдельной статье.