# Установка CSP3 на Debian 12.14

## Рекомендации по установке ОС
- Установка ОС производится с образа: debian-12.14.0-amd64-netinst.iso
- Рекомендуется разметка диска "Все файлы в одном разделе"
- В разделе "Выбор программного обеспечения" установить только: SSH-сервер, Стандартные системные утилиты

## Включение SSH сервера
Не обязательно, но упростит установку на удаленный сервер.
После установки можете выключить сервер через: ```systemctl disable sshd```

```
apt-get install -y mc
mcedit /etc/ssh/sshd.config
# Изменить PermitRootLogin на yes
systemctl restart sshd
```

## Распаковка дистрибутива
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-debian.sh
```

## Приложение 1: Установка вручную (без скриптов)
Метод, если нужно контроллировать процесс установки

#### Установка sudo
Требуется для работы с postgres
```
apt-get install -y sudo
```

#### Установка локальной PostgresDB

CSP поддерживает любую СУБД, совместимую с PostgresSQL 15


```bash
apt install -y postgresql postgresql-contrib
# задать пароль, он потребуется для настройки CSP сервера
sudo -u postgres psql -c "ALTER USER postgres WITH PASSWORD '123';"
```

#### Загрузка первоначальной базы

Загрузите первоначальный дамп `postgres.sql.xz` из дистрибутива на сервер (например в директорию `/srv`)

```bash
cd /root/distrib/postgres
sudo -u postgres createdb -U postgres csp3 # создание базы
 xz -dc ./postgres.sql.xz | sudo -u postgres psql -U postgres csp3 # загрузка
sudo -u postgres psql -d csp3 -U postgres -c "SELECT * FROM model_documents.doc_kind LIMIT 5;" # Проверка
```

#### Установка nats-server

```bash
cd /root/distrib/nats
# Работа CSP сервера требует nats-server
apt-get install nats-server -y
cp ./nats-server.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
systemctl restart nats-server.service
```
#### Установка node.js

Установка node.js 18+ версии (npm не обязателен)
```bash
apt-get install nodejs -y
```

#### Установка приложения

```bash
cd /root/distrib/app
cp -r ./csp3 /opt/csp3
cp ./systemd/csp3.service /etc/systemd/system/csp3.service
mcedit /opt/csp3/global-config.json
# Измените pgpassw на пароль postgres
systemctl enable --now csp3.service
```
Проверьте соединение:
Подключитесь через браузер(http) к порту CSP сервера (порт, который указали в global-config.json)

#### Установка Nginx
Опционально, установите nginx (или любой другой reverse proxy), это позволит настроить https