# Установка CSP3 на РЕД ОС 8.0

## Рекомендации по установке ОС

1. Базовое окружение - минимальный сервер (Без дополнительного ПО)
  
2. Включить root доступ по ssh (после установки - можно выключить)
  
3. Не делить диск на дополнительные разделы (только корневой раздел, boot, swap и efi)

## Распаковка дистрибутива
1. Подключитесь по SSH из под **root**. 
2. Загрузите дистрибутив CSP (`distrib-XXX.tar.zx`, вместо XXX - дата) в директорию `/root`
3. Распаковка:
```bash
# Распаковка дистрибутива
mkdir -p /root/distrib
tar -xvf /root/distrib-XXX.tar.xz -C /root/distrib
```
  
## Установка через скрипт
```bash
bash /root/distrib/install-redos.sh
```

## Проверка и установка лицензии
Проверить работу можно через браузер подключившись к `http://[ip-сервера]/admin/`

Логин: `admin`, пароль такой же, как задан в установке для PostgreSQL



## Приложение 1: Установка вручную (без скриптов)
Метод, если нужно контроллировать процесс установки

### Установка локальной PostgresDB

CSP поддерживает любую СУБД, совместимую с PostgresSQL 15, необходимо наличие расширения pgcrypto

```bash
dnf install postgresql18-server postgresql18-contrib -y
/usr/pgsql-18/bin/postgresql-18-setup initdb # Инициализация БД
systemctl enable --now postgresql-18 # Включение и запуск
```

### Загрузка первоначальной базы

Загрузите первоначальный дамп `postgres.sql.xz` из дистрибутива на сервер (например в директорию `/srv`)

**Не забудьте поменять пароль с "123" в команде ниже**

```bash
chown postgres /srv/postgres.sql.xz
sudo -i -u postgres
createdb csp3 # создание базы
xz -dc postgres.sql.xz | psql -v ON_ERROR_STOP=on csp3 # загрузка дампа
psql -d csp3 -c "SELECT * FROM model_documents.doc_kind LIMIT 5;" # проверка
psql -c "ALTER USER postgres WITH ENCRYPTED PASSWORD '123';" # смена пароля
exit
```

### Установка зависимостей CSP сервера

Загрузите дистрибутив CSP (`distrib.tar.zx`) в директорию `/srv`

```bash
cd /root
mkdir -p /root/distrib
tar -xvf distrib.tar.xz -C /root/distrib
cd /srv/distrib
# Работа CSP сервера требует nats
dnf install nats-server -y
cp ./nats/nats.conf /etc/nats-server.conf
mkdir -p /var/run/nats
chown -R nats:nats /var/run/nats /etc/nats-server.conf
systemctl enable --now nats-server.service
# Установка node.js 18+ версии (npm не обязателен)
dnf install nodejs
```

### Установка приложения

```bash
cp ./app -r /srv/csp3
chmod +x /srv/csp3/start.sh
cp ./systemd/csp3.service /etc/systemd/system/csp3.service
```