Конфигурации VPS
| Параметр | Пилот / первый event | Production 3 000–5 000 участников |
|---|---|---|
| ОС | Ubuntu 22.04 LTS или Debian 12 | |
| CPU | 2 vCPU | 4 vCPU |
| RAM | 2 GB (4 GB с Промо.Про / OCR) | 8 GB |
| Диск | 20 GB SSD | 50 GB SSD, MySQL volume отдельно |
| Сеть | Статический IP или A-запись; HTTPS до открытия регистрации | |
Staging на втором VPS — если правите форму за сутки до event. Хостинг РФ: Selectel, Timeweb Cloud, Beget VPS, МТС Cloud, Яндекс Cloud VPC.
Почему не shared-хостинг
Event-платформа на Docker Compose нуждается в root или привилегированном пользователе. Нужны отдельные порты для MySQL и reverse proxy, а также cron для бэкапов.
На shared-хостинге это либо запрещено, либо ломается при первом обновлении образа.
Сервер в годовом бюджете
VPS обходится в три–восемь тысяч рублей в месяц. Это отдельная строка TCO, её нельзя «вшить» в лицензию. Без этой строки коробка кажется дешевле, чем есть на самом деле.
Подробнее в материале сравнение с SaaS за 2–3 года. Turnkey-внедрение за 45 000 ₽ не заменяет ежемесячный хостинг. Сервер остаётся у клиента, мы не хостим прод за вас.
Типичные ошибки деплоя
Диск забивают логи Docker. Ротируйте journald и container logs до event, а не в день check-in. Не открыли webhook-порт для ЮKassa или whitelist IP ФНС — платёж или проверка чека «зависает» в проде, хотя на staging работало.
Бэкап mysqldump по cron без проверенного restore не спасает. «Есть бэкап» не значит «можно восстановиться».
Хостинг в РФ
Если в договоре с участниками указана обработка ПД в России, сервер тоже должен быть в РФ. Selectel, Timeweb Cloud, Beget VPS, МТС Cloud и Яндекс Cloud VPC — типичный выбор.
Дата-центр в Москве или СПб стабильнее по latency для check-in в реальном времени. Cloudflare подходит только для статики. Проксировать API с ПД через CDN нельзя. Зачем вообще свой сервер, описано в материале self-hosted vs SaaS. Юридический контекст — на странице 152-ФЗ на мероприятиях.
Деплой: что проверить до боевого event
Деплой идёт по runbook из лицензии: Docker и docker-compose, .env с DB_PASSWORD, LICENSE_KEY и APP_DOMAIN, Nginx или Caddy с HTTPS. Перед боевым event сделайте smoke-test: тестовое мероприятие, регистрация, check-in с планшета.
Стек описан в разделе технологии и архитектура. Пошаговый сценарий — в материале как работает Рег.Поинт. Частая ошибка: не открыли webhook-порт для ЮKassa или не добавили whitelist IP ФНС. Платёж или проверка чека «зависает» в проде, хотя на staging всё работало.
Ограничения
OCR чеков на слабом VPS с двумя GB RAM может упираться в память при пике загрузок. Offline check-in на площадке не отменяет необходимость периодической синхронизации.
Бэкап mysqldump по cron — ваша зона ответственности. Без проверенного restore «есть бэкап» не значит «можно восстановиться». Если нет DevOps, turnkey от 45 000 ₽, root остаётся у клиента.
FAQ
Можно ли использовать shared-хостинг?
Нет. Docker требует root-доступа или привилегированного пользователя. Подходит только VPS или VDS.
Сколько стоит сервер в годовом TCO?
Ориентир три–восемь тысяч рублей в месяц. Считайте отдельной строкой, см. сравнение с SaaS за 2–3 года.
Нужен ли выделенный сервер для каждого заказчика?
Не обязательно. Одна лицензия — один инстанс на юрлицо. Несколько заказчиков работают через роли director и изоляцию на уровне приложения. Отдельное железо нужно только если ИБ клиента это требует.