# TheKeys — проверочный экземпляр
Этот каталог — проверочный экземпляр программного обеспечения «TheKeys»:
исходный код, база данных с демонстрационными данными, конфигурация всех
компонентов, скрипты установки и документация.
| Путь | Содержимое |
|---|---|
| `deploy.sh` | установка одной командой |
| `docs/01-deployment.md` | инструкция по развёртыванию и эксплуатации |
| `docs/02-server-access.md` | удалённый доступ к серверу, состав процессов, расположение файлов |
| `docs/03-functional-description.md` | описание функциональных характеристик |
| `docker-compose.yml`, `Caddyfile`, `.env.example` | конфигурация компонентов |
| `scripts/` | восстановление базы данных, установка пароля, проверка |
| `src/` | исходный код серверной части, веб-интерфейса и GraphQL-сервиса |
| `db/thekeys.dump` | база данных с демонстрационными данными |
| `SOURCE_REVISIONS.txt` | ревизии исходного кода, вошедшие в сборку |
## Что потребуется
Сервер с ОС Linux: 2 процессорных ядра, 4 ГБ оперативной памяти (рекомендуется
8 ГБ), 25 ГБ свободного места, установленный Docker Engine 24.0 и выше с
плагином Compose v2. Если Docker не установлен, скрипт установит его сам.
Доступ в сеть нужен только на время установки. Установка занимает 20–30 минут,
из них большую часть — сборка образов.
## Установка
Укажите домен, по которому система будет открываться в браузере.
**Если этот каталог уже на сервере** — выполните из него, под учётной записью
`root`:
```bash
chmod +x deploy.sh scripts/*.sh
./deploy.sh --local --domain crm.example.ru
```
**Если каталог на рабочем месте** (Linux, macOS либо Windows с WSL2), а
устанавливать нужно на удалённый сервер:
```bash
chmod +x deploy.sh scripts/*.sh
./deploy.sh --host root@203.0.113.10 --domain crm.example.ru
```
Скрипт установит Docker при его отсутствии, разместит поставку в
`/opt/thekeys`, создаст конфигурацию со случайными секретами, соберёт образы,
восстановит базу данных, запустит все компоненты, задаст пароль администратора
и выполнит проверку.
Установка завершается сводкой: адрес приложения, учётные записи, пароль,
административный ключ GraphQL API. Строка `пройдено: 18, не пройдено: 0`
означает, что экземпляр работоспособен.
Повторный запуск с теми же параметрами обновляет установленный экземпляр:
секреты и данные сохраняются.
Пошаговая установка без этого скрипта — раздел 5 инструкции по развёртыванию.
## Вход в систему
Откройте `http://<ваш домен>/` и войдите по номеру телефона `70000000000` и
паролю из сводки, выведенной по завершении установки.
Код подтверждения из SMS не проверяется: принимается любое значение. Учётные
данные оператора SMS-рассылки в поставку не входят.
## Что важно знать
- **HTTPS в состав экземпляра не входит.** Система публикует HTTP на порту 80;
шифрование транспорта настраивается внешними средствами. Порядок публикации
домена — раздел 6 инструкции по развёртыванию.
- **Внешние интеграции отключены** и заменены заглушками: SMS-рассылка,
уведомления в Telegram, приём записей телефонных разговоров, распознавание
речи, анализ текста языковыми моделями. На работу системы это не влияет;
порядок их включения — раздел 9 инструкции.
- **Демонстрационные данные обезличены**: персональные данные заменены
синтетическими значениями либо обнулены. Подробно — раздел 1.1 инструкции.
- **Ранее загруженные вложения не открываются**: самих файлов в поставке нет.
Вновь загружаемые файлы работают штатно.
## Эксплуатация и диагностика
Установленный экземпляр управляется из каталога `/opt/thekeys`:
```bash
docker compose ps # состояние компонентов
docker compose logs -f # журналы
./scripts/smoke-test.sh # проверка работоспособности
```
Таблица типовых проблем — раздел 10 инструкции по развёртыванию.
## Контакты технических специалистов
| | |
|---|---|
| Ответственный специалист | Гриднев Дмитрий |
| Телефон | +79215858567 |
| Электронная почта | crminfo@thekeys.estate |