# Установка сервера P2

Версия сборки: 2026.4.0.17.

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

## Что нужно

- Машина с Linux и Докером (x86_64).
- Папка с презентациями `.pptx`, в которую сервер может писать.
- Для доступа по сети — обратный прокси с HTTPS (nginx, Caddy). Сам сервер говорит обычным HTTP.

## Установка

```bash
gunzip -c P2-2026.4.0.17-server-docker.tar.gz | docker load
mkdir -p /srv/p2 && chown 1000:1000 /srv/p2   # сервер работает пользователем node (uid 1000)
cp *.pptx /srv/p2/
docker run -d --name p2 --restart unless-stopped \
  -p 8090:8090 -v /srv/p2:/data \
  p2-server:2026.4.0.17 --entry "<общий пароль>"
```

Откройте `http://<сервер>:8090/` — появится страница входа: имя и пароль. После входа видны презентации из папки.

Без `--entry` вход спрашивает только имя. Так можно в закрытой сети или на своей машине, но никогда в интернете.

## Проверка

```bash
curl -s http://127.0.0.1:8090/health
```

В ответе JSON с `"status":"ok"`. Докер делает эту проверку каждые 30 секунд (`docker ps` показывает `healthy`).

## Доводы

| довод | что делает |
|---|---|
| `--entry <пароль>` | общий пароль для входа |
| `--max-cabins <число>` | сколько документов открыто одновременно (по умолчанию — по памяти машины) |
| `--idle-min <минуты>` | через сколько минут без работы документ закрывается (по умолчанию 30) |

Доводы передаются ТОЛЬКО через пробел: `--entry пароль`, а не `--entry=пароль`. Форму с `=` сервер отбрасывает
молча, и тогда он встаёт без пароля.

## Обратный прокси (nginx)

Совместная правка идёт через WebSocket, поэтому прокси обязан его пропускать:

```nginx
location / {
  proxy_pass http://127.0.0.1:8090;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  proxy_set_header Host $host;
  client_max_body_size 100m;
}
```

## Что полезно знать

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

Свежие сборки и документация: https://tech.plantype.ru/
