# Свой CRM на своём сервере

Открытый CRM ставится одной командой, и на этом хорошие новости в обзорах обычно заканчиваются. Ниже — то, что стоит решить до установки, что придётся делать после, и в каком месте «бесплатно» превращается в счёт.

## 01 Решить до того, как открыл терминал

- 01 «Ответь себе: это внутренний инструмент или основа будущего продукта» — Первое — ставь спокойно. Второе меняет всё: лицензия AGPL требует отдать исходники твоей доработанной версии всем, кто пользуется ей по сети.
- 02 «Выпиши, что из корпоративных функций тебе нужно уже сейчас» — Единый корпоративный вход (SAML/OIDC), права на отдельные записи, журнал действий — это платный тариф, а не бесплатная часть.
- 03 «Посчитай стоимость облака от того же вендора, а не только Salesforce» — Управляемая версия начинается с 9 долларов за пользователя в месяц. Если у тебя пять человек — сервер, время и бэкапы почти наверняка дороже.
- 04 «Реши, кто будет обновлять» — Релизы выходят регулярно. Если ответ «никто» — через полгода у тебя старая версия с открытыми дырами и данными клиентов внутри.
- 05 «Проверь, куда денутся персональные данные клиентов» — Самостоятельный хостинг — это твоя ответственность за хранение и доступ, а не отсутствие ответственности.

## 02 Установка

- 01 «Сервер: минимум 2 ГБ оперативной памяти» — Это прямое требование документации. При меньшем объёме процессы падают на старте.
- 02 «Docker и Docker Compose — свежих версий» — Поднимаются четыре сервиса: приложение, фоновый обработчик задач, PostgreSQL и Redis.
- 03 «Ставь одной командой, если не нужен нестандартный конфиг» — Команда установки — ниже.
- 04 «Зафиксируй версию вместо latest» — Тег в .env — единственное, что защищает от «оно само обновилось и сломалось». Обновляешь тогда, когда сам решил.
- 05 «Сразу поставь домен и сертификат» — CRM без HTTPS — это база клиентов, которая ходит по сети открытым текстом.
- 06 «Сделай первый дамп базы до того, как занесёшь реальные данные» — Проверять восстановление на пустой базе не страшно. На боевой — уже поздно.

```
bash <(curl -sL https://raw.githubusercontent.com/twentyhq/twenty/main/packages/twenty-docker/scripts/install.sh)
```

## 03 Лицензия: где заканчивается «делай что хочешь»

- 01 «Основной код — AGPL-3.0» — Пользоваться, менять, ставить хоть на сто серверов внутри компании — можно и бесплатно.
- 02 «Изменил код и открыл к нему сетевой доступ посторонним — отдай им исходники» — Это раздел 13 лицензии. Именно он делает невозможным тихо построить закрытый продукт на чужом открытом коде.
- 03 «Часть файлов вообще не под AGPL» — Файлы с пометкой /* @license Enterprise */ закрыты коммерческой лицензией и в продакшене требуют платной подписки.
- 04 «Если строишь на этом бизнес — покажи лицензию юристу» — Пункт выше — пересказ, а не консультация. Разница между «внутренний инструмент» и «сервис для клиентов» стоит денег.

## 04 Дальше это твоя эксплуатация

- 01 «Автоматический бэкап базы и проверка восстановления раз в месяц» — Бэкап, который ни разу не разворачивали, бэкапом не является.
- 02 «Порядок обновления: дамп базы, остановка, смена тега версии, запуск» — Миграции применяются сами при старте. Прыгать через версии можно начиная с 1.22, более старые — только по шагам.
- 03 «Мониторинг памяти и места на диске» — Самая частая причина «всё легло» на маленьком сервере — не нагрузка, а закончившийся диск под базой.
- 04 «Права доступа руками, если корпоративные функции не куплены» — Без платного тарифа разграничение «кто какую запись видит» придётся выстраивать организационно.

## 05 Ожидание и реальность

врезка-пара: левый callout — метка `// «Полный аналог Salesforce»`, текст «Современное ядро CRM: сделки, контакты, свои поля и объекты. Не платформа с экосистемой на тысячи приложений»; правый callout — метка `// «Бесплатно навсегда»`, текст «Бесплатно ядро. Единый вход, права на записи и журнал действий — платный тариф»

врезка-пара: левый callout — метка `// «Свои данные в своей инфраструктуре»`, текст «Свои данные, свой сервер, свои бэкапы, свои обновления и свои простои»; правый callout — метка `// «Открытый код — делай что хочешь»`, текст «Открытый код с копилефтом: сервис для чужих людей на доработанной версии обязывает открыть исходники»

врезка `// «Ставится за минуту»`: текст «Ставится за минуту. Живёт годами — и это уже другая работа»

## 06 Цифры, ради которых это всё

- Twenty — 53 828 звёзд и 8 256 форков на GitHub, релизы выходят регулярно, последний на момент подготовки — v2.25.0. Репозиторий
- Управляемая версия: 9 долларов за пользователя в месяц на тарифе Pro и 19 долларов на Organization — там же живут SAML/OIDC, права на отдельные записи и журнал действий. Тарифы
- Salesforce Sales Cloud: Starter — 25 долларов, Enterprise — 175 долларов за пользователя в месяц. Цена зависит от региона и переговоров, сверяй по официальной странице. Разбор цен
- Требование к серверу: минимум 2 ГБ оперативной памяти, иначе процессы падают. Документация

## 07 Где посмотреть подробности

- Самостоятельный хостинг — способы развёртывания и что выбрать под свою задачу.
- Установка через Docker Compose — команда установки, переменные окружения, требования к памяти.
- Обновление версии — порядок действий, прыжки через версии, что делать при сбое миграции.
- Текст лицензии — AGPL-3.0 и коммерческий вырез для файлов с пометкой Enterprise.
- AGPL-3.0, раздел 13 — дословная формулировка про доступ по сети и обязанность отдать исходники.
- Список релизов — что меняется от версии к версии, прежде чем обновляться.

Пройди список сверху вниз один раз перед установкой. Второй раз он понадобится только при обновлении.

---

Источник: https://localhost:3000/m/crm-na-svoem-servere
