Инфраструктура малого бизнеса: authentik + mailcow + Nextcloud + Planka
Я много лет занимался инфраструктурой. Потом перестал и ушёл в продукт — но привычка заглядывать: «А как у вас тут всё устроено?» осталась. И вот теперь я хожу к клиентам по совсем другим вопросам, а глаза всё равно выпадают.

Потому что я вижу ровно два сценария. Третьего почти не бывает.
Сценарий первый: «А мы как-то так»
Компания на 20 человек. Пять лет на рынке, деньги есть, клиенты есть, всё работает.
Почта — у кого на Яндексе, у кого на mail.ru, у директора вообще gmail с адресом вида ivan.petrov.1987@. Договоры лежат в WhatsApp. Актуальный прайс существует в четырёх версиях, и никто не знает, какая свежая. Файлы — на общей шаре старого системника под столом у Сергея, который: «Ну он же работает». 1С — на компе бухгалтера, бэкап — на флешке, флешка — в сумочке.
Задачи — в голосовых.
Самое интересное начинается, когда кто-то увольняется. Что у него было? Куда он имел доступ? Как это отобрать? Никто не знает. Учётки просто остаются жить своей жизнью годами. Я однажды видел компанию, где у уволенного три года назад менеджера всё ещё работал доступ к почте — потому что на этот ящик были завязаны какие-то регистрации, и «страшно трогать».
Это не глупость. Это нормальная эволюция: сначала надо было выжить, а потом просто некогда.
Сценарий второй: «Мы всё сделали правильно»
Компания на 12 человек. Приходил “настоящий девопс”.
Три ноды Kubernetes. Helm-чарты. ArgoCD. Prometheus, Grafana, Loki, Tempo. Service mesh — потому что а вдруг. CI/CD пайплайн на семь стадий. Terraform, который никто не решается применить, потому что стейт разъехался с реальностью где-то в марте.
Всё это обслуживает: корпоративный сайт, вики и файлохранилище.
Девопс, естественно, уволился. Оставшийся системный администратор в это не лезет. Когда что-то падает, зовут подрядчика за деньги, сравнимые со стоимостью всей инфраструктуры за год.
Это тоже не глупость. Это карго-культ: человек строил то, что умеет и что хорошо выглядит в резюме, а не то, что нужно бизнесу.
Что на самом деле нужно компании до 50 человек
Давайте честно перечислим. Список короткий:
Единая учётная запись. Один логин на все сервисы. Один клик — и человека нет нигде.
Почта на своём домене. Не потому что красиво, а потому что переписка — это актив компании, и он должен принадлежать компании.
Место для файлов, где есть версии, права доступа и синхронизация.
Календари и контакты, общие.
Задачи — доска, где видно, кто что делает.
Всё. Дальше по вкусу: мессенджер, вики, менеджер паролей, CRM.
И вот ключевая мысль, ради которой я это пишу: пункт номер один важнее всех остальных вместе взятых.
Не потому что SSO — это модно и удобно (хотя удобно). А потому что централизованное управление доступом — это единственное, что превращает набор сервисов в инфраструктуру. Без него у вас не система, а коллекция. С ним онбординг нового сотрудника занимает минуту, а офбординг — десять секунд, и вы точно знаете, что доступ закрыт везде.
Большинство компаний делают наоборот: сначала накупают сервисов, а потом годами живут с десятью паролями на человека и табличкой «кому что выдали» в Excel. Которую никто не ведёт.
Стек
Четыре опенсорсных продукта, которые закрывают всё вышеперечисленное и умеют дружить между собой.
authentik — вход
Identity Provider. Умеет OIDC, SAML, LDAP, прокси-авторизацию, MFA, политики доступа, группы, и всё это через нормальный веб-интерфейс, а не через XML в конфигах.
Альтернатива — Keycloak. Он мощнее и старше, но входной порог заметно выше, а интерфейс сделан для инженеров, которые уже знают, чего хотят. Для сценария: «Небольшая компания, один админ на полставки» authentik субъективно приятнее.
Это фундамент. Ставится первым.
mailcow — почта
Готовая сборка почтового сервера: Postfix, Dovecot, Rspamd, SOGo, ClamAV, антиспам, DKIM, веб-админка. Всё в докере, всё уже связано между собой.
Собирать почтовый сервер руками в 2026 году — занятие для тех, кто получает от этого удовольствие. Мне хватило одного раза лет пятнадцать назад. Хочет минимум 6 ГБ RAM, лучше 8. Это самый прожорливый компонент стека.
Nextcloud — файлы, календари, контакты
Файловая синхронизация, шаринг, версионирование, права доступа, онлайн-редактор документов (OnlyOffice или Collabora), календари CalDAV, контакты CardDAV.
Да, Nextcloud часто ругают за тяжесть и за то, что он пытается быть всем сразу. Ругают справедливо. Но альтернативы либо делают что-то одно (Seafile — только файлы, зато быстро), либо не делают ничего. Если файлов действительно много и нужна скорость — берите Seafile и отдельно Radicale под календари. Если хочется одну коробку — Nextcloud.
Planka — задачи
Канбан-доски. Лёгкий, быстрый, понятный любому, кто видел Trello. Поддерживает OIDC из коробки.
Альтернативы: Vikunja (больше про списки и таймлайны), Kanboard (совсем аскетичный, но невероятно стабильный), Focalboard (заброшен, не берите).
Про «За пять минут»
Теперь разоблачение, ради честности.
docker compose up -d действительно занимает пять минут. Всё остальное — нет.
Реальный тайминг для человека, который делает это впервые, но умеет читать документацию:

Итого: вечер на всё, кроме почты, плюс неделя на грабли.
Порядок сборки
Порядок важен. Если сделать не в том порядке — будете переделывать.
1. Домен и DNS. Заведите отдельные поддомены под каждый сервис: auth., mail., cloud., tasks.. Про сертификаты можно не думать вообще: Let's Encrypt выпускается автоматически на каждый хост, современный reverse proxy делает это сам и сам же обновляет.
2. Reverse proxy. Caddy — если хочется, чтобы сертификаты просто работали и конфиг помещался на экран. Traefik — если нравятся лейблы в docker-compose. Nginx — если вы уже знаете nginx и не хотите учить новое. Все три подходят, разница вкусовая.
3. authentik. Ставится до всего остального, потому что дальше все сервисы будут в него смотреть. Сразу заведите группы (sales, dev, admins) — потом на них удобно вешать права. Сразу включите MFA хотя бы для админов.
4. mailcow. Ставим раньше остальных прикладных сервисов, потому что DNS-записям нужно время, а IP нужно прогревать. Чем раньше начнёте, тем раньше почта перестанет улетать в спам.
5. Nextcloud с приложением user_oidc, 6. Planka с переменными OIDC_*.
7. Бэкапы. Не последним пунктом по важности — последним по порядку, но сделать обязательно до того, как туда попадут реальные данные.
Грабли, на которые вы наступите
Собрал те, что вижу чаще всего.
Почта и репутация IP. Свежий IP на облачном хостинге почти наверняка уже в чьих-то чёрных списках, потому что до вас на нём кто-то спамил. Многие провайдеры вдобавок закрывают исходящий 25-й порт. Проверяйте это до покупки, а не после. Если порт закрыт или репутация мёртвая — SMTP relay через внешний сервис. Это не поражение, так делают все.
SPF, DKIM, DMARC и PTR-запись — без последней половина крупных получателей развернёт вас на входе. PTR настраивается у хостера, не в DNS домена.
Single Sign-On ≠ Single Sign-Out. Зашли один раз — да. Вышли отовсюду одним кликом — почти никогда. Каждый сервис держит свою сессию. Отключение пользователя в authentik закроет ему новые входы, но активные сессии могут жить до истечения. Для реального офбординга сессии нужно гасить принудительно.
Миграция существующих пользователей на OIDC. Если Nextcloud уже работал с локальными учётками, привязка внешних не всегда происходит автоматически — можно получить дубли пользователей с пустыми домашними каталогами. Разберитесь с маппингом заранее, на тестовом пользователе.
Автообновление stateful-сервисов. Не ставьте Watchtower на mailcow, Nextcloud и базы данных. Однажды ночью он обновит мажорную версию, миграция схемы упадёт на середине, и утром вы будете поднимать всё из бэкапа. Обновляйтесь руками, читая changelog. Да, это скучно.
Бэкапы, которые никто не проверял. Классика жанра. Бэкап, из которого ни разу не восстанавливались, — это не бэкап, а надежда. Раз в квартал разворачивайте копию на тестовой машине. Займёт полдня, сэкономит бизнес.
Ресурсы. Один VPS: 8 vCPU, 16 ГБ RAM, 500 ГБ NVMe — комфортно для компании до 50 человек. 8 ГБ RAM — будет работать, но mailcow с ClamAV съест половину, и первое же обновление Nextcloud уйдёт в OOM.
Сколько это стоит на самом деле
Лицензии — ноль. Всё перечисленное бесплатно.
VPS — 3–6 тысяч рублей в месяц. Домен — копейки. Итого около 50–70 тысяч в год за инфраструктуру на всю компанию. Против SaaS-подписок на 20 человек это экономия в разы.
Но есть строка, которую все забывают — человек. Кто-то должен раз в месяц накатить обновления, раз в квартал проверить бэкап и быть на связи, когда что-то сломается. Это часов пять в месяц — но эти пять часов должны быть у кого-то в календаре, а не: «Ну Серёга посмотрит».
Если такого человека нет и не предвидится — не начинайте. Возьмите SaaS и не мучайтесь. Плохо обслуживаемый self-hosted хуже любого облака: облако хотя бы не потеряет ваши данные.
Это, пожалуй, главный критерий. Не «сколько сотрудников», не «какой бюджет», а «есть ли руки?».
Для параноиков
Отдельная категория клиентов: данные не должны покидать периметр вообще. Медицина, госконтракты, персданные, коммерческая тайна, просто принципиальная позиция.
Для них тот же стек, но:
Своё железо. Proxmox на нормальном сервере, виртуалки под сервисы, Proxmox Backup Server на отдельной машине. Бэкап-сервер физически отдельно от основного — иначе это не бэкап.
Ничего не торчит наружу. Публичный доступ только у почты (иначе она не почта) и, возможно, у веб-морды облака. Всё остальное — через WireGuard. Админки — только из VPN, без исключений.
MFA обязателен всем, не только админам. В authentik это политика, а не просьба.
Логи в одном месте. Хотя бы Loki + Grafana, хотя бы с ретенцией в 90 дней. В момент инцидента вы будете очень благодарны себе прошлому.
Шифрование дисков на всём, что физически может уехать из офиса.
Правила доступа в authentik по группам, а не по людям. Люди меняются, роли — нет.
Это добавляет к сборке ещё пару дней. И регулярной работы — ещё часа три в месяц.
Что в итоге
Инфраструктура небольшой компании — это не про технологии. Это про два вопроса:
Кто имеет доступ к чему? и Что мы делаем, когда это сломается?
Ответьте на них — и не важно, что у вас под капотом. Не ответьте — и не спасёт ни Kubernetes, ни энтерпрайзная подписка.
Четыре контейнера, один VPS, вечер работы. И централизованное управление доступом, которого нет у 80% компаний вашего размера.
Дальше можно наращивать: вики, мессенджер, CRM, менеджер паролей. Все они подключаются к тому же authentik, и каждый следующий сервис добавляется уже за двадцать минут, а не за вечер. В этом весь смысл фундамента.

