Установка

От чистого сервера до работающей CRM — около 15 минут. Если что-то не получается, напишите в @uns_crm_support_bot — поможем.

Что понадобится

Не хотите заниматься сервером? Выберите в заявке «Разместите у себя» — всё поднимем сами.

1. Сервер

Подойдёт чистый VPS у любого провайдера или виртуальная машина у вас. Ставить на сервер ничего заранее не нужно — установка сама поставит Docker. Войдите на сервер по SSH пользователем с правами sudo.

Проверьте, что диск виден целиком — у некоторых облачных образов раздел меньше диска:

df -h /

Если размер / заметно меньше купленного диска — напишите нам, подскажем, как расширить.

2. Домен и порты

  1. В DNS вашего домена создайте A-запись: crm.ваш-домен.kz → IP сервера.
  2. Откройте снаружи порты 80 и 443 (TCP; 443 ещё и UDP). Если у сервера есть брандмауэр в панели провайдера или сервер стоит за роутером — откройте или пробросьте их там.

Сертификат HTTPS CRM получит сама (Let's Encrypt) — для этого домен уже должен указывать на сервер, а порт 80 — быть открыт.

Проверить DNS: nslookup crm.ваш-домен.kz должен показать IP сервера.

3. Telegram-бот для сотрудников

  1. Откройте @BotFather, отправьте /newbot, придумайте имя и адрес бота.
  2. Сохраните токен — строку вида 123456789:AA…. Он понадобится на шаге 5.
  3. Узнайте свой Telegram ID — например, у @userinfobot. Вы станете первым администратором.

Бот для клиентов — отдельный, его можно создать позже так же.

4. Установка

Одна команда — с вашим доменом и ключом из письма:

curl -fsSL https://license.uns.kz/install.sh | sudo bash -s -- crm.ваш-домен.kz UNS-XXXX-XXXX-XXXX-XXXX

Скрипт:

В конце он напечатает адрес, логин и пароль.

Сохраните файл /opt/uns-crm/.env в надёжное место (не на этом же сервере). В нём ключ шифрования: без него пароли и токены из резервной копии не восстановить.

5. Первый запуск

Откройте https://crm.ваш-домен.kz/admin, войдите логином и паролем из шага 4 — откроется мастер:

  1. Компания — название, чем занимаетесь, страна и часовой пояс.
  2. Рабочий бот — токен из шага 3. CRM сразу проверит его в Telegram.
  3. Первый администратор — ваш Telegram ID и имя.
  4. По желанию — адрес портала, клиентский бот, ключ ИИ. Можно и позже, в «🔑 Ключи и адреса».

Через полминуты боты запустятся, а подписка привяжется к вашему ключу сама.

6. После запуска

  1. Напишите рабочему боту /start и пройдите регистрацию — бот будет присылать вам коды входа в портал.
  2. Добавьте рабочего бота администратором во все рабочие чаты (заявки, отделы). Чаты появятся в «💬 Чаты» по первой заявке.
  3. Войдите в портал: https://crm.ваш-домен.kz/portal/login — код придёт от бота.
  4. В «📱 WhatsApp» отсканируйте QR-код телефоном с рабочим номером (WhatsApp → Связанные устройства).
  5. В «💾 Бэкап» задайте пароль копий и куда их отправлять (Telegram-чат или SFTP).
  6. Откройте «🩺 Здоровье системы» — всё должно стать зелёным.

Дальше — руководство: сотрудники, отделы, типы заявок, биллинг, ИИ.

Обновление

sudo /opt/uns-crm/update.sh

Скачивает новую версию и перезапускает только то, что изменилось. Данные и настройки не трогаются. Обновления доступны, пока действует подписка.

Бэкапы

CRM сама делает копию базы по расписанию из «💾 Бэкап», шифрует её паролем и отправляет в Telegram или на SFTP-сервер. Копии также лежат на сервере в /opt/uns-crm/data/backups. Сделать копию прямо сейчас — кнопкой «Сделать сейчас» там же.

Если что-то не так

Что видноЧто проверить
Сайт не открывается, сертификата нетA-запись указывает на сервер? Порты 80 и 443 открыты снаружи (и в панели провайдера)? Изнутри своей сети роутер может не пускать на собственный внешний адрес — проверьте с телефона через мобильный интернет.
«Ключ не подошёл» при установкеКлюч скопирован целиком? Срок не истёк? Напишите нам — проверим.
Бот молчит«🩺 Здоровье системы» — процесс бота работает? Токен в «🔑 Ключи и адреса» верный?
Что-то красное в «Здоровье»Там же подсказка, что сделать. Журнал части CRM: cd /opt/uns-crm && sudo docker compose logs --tail 100 bot

Состояние всех частей: cd /opt/uns-crm && sudo docker compose ps. Не помогло — @uns_crm_support_bot.