Инфраструктура малого бизнеса: 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 человек

Давайте честно перечислим. Список короткий:

  1. Единая учётная запись. Один логин на все сервисы. Один клик — и человека нет нигде.

  2. Почта на своём домене. Не потому что красиво, а потому что переписка — это актив компании, и он должен принадлежать компании.

  3. Место для файлов, где есть версии, права доступа и синхронизация.

  4. Календари и контакты, общие.

  5. Задачи — доска, где видно, кто что делает.

Всё. Дальше по вкусу: мессенджер, вики, менеджер паролей, 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, и каждый следующий сервис добавляется уже за двадцать минут, а не за вечер. В этом весь смысл фундамента.

Комментарии (20)


  1. Collerus
    11.08.2026 11:48

    Сейчас реализую пункт "для параноиков", остальное как-то в топку. Что за пунктик именно по authentik?


    1. AleksaDi Автор
      11.08.2026 11:48

      @Collerus, чисто моя предвзятость. Раньше пользовался keyclock, потом перешёл на authentik так как проще настраивать и привязывать оказалось.


      1. Collerus
        11.08.2026 11:48

        Я о том, что если у вас закрытый контур, юзеров немногим менее сотни и сервисов менее десятка, то MFA только усложнит систему.


        1. AleksaDi Автор
          11.08.2026 11:48

          Тут не про MFA, тут про единое окно входа. MFA - как доп фактор в требуемых случаях.


  1. igrblkv
    11.08.2026 11:48

    1С где?

    Всякие госуслуги и прочие минтруды с ФНС? На флешке носить лично?

    Что мы делаем, когда это сломается?

    А, кстати, что?

    Когда интернет отвалился на 4 часа плюс?

    Когда VPS потёрли и "вот вам купон на скидку на следующий VPS"?

    облако хотя бы не потеряет ваши данные

    статистика с Вами не согласна


    1. AleksaDi Автор
      11.08.2026 11:48

      1С где?

      1С нативно поддерживает поддерживает SSO (не без небольших танцев но работает).

      Когда интернет отвалился на 4 часа плюс?

      Даже не представляю где вы держите инфраструктуру и на каких канал (предположение что сотовый оператор)?



      1. AleksaDi Автор
        11.08.2026 11:48

        Когда VPS потёрли и "вот вам купон на скидку на следующий VPS"?

        Для этого прямо целый раздел про бекапы, в целом что шанс что и облако потеряет ваши данные. Возвращаемся к бекапам...


      1. Collerus
        11.08.2026 11:48

        Бывало что оба прова отваливались на пару дней, основной упал, а резервный тоже в аут ушел, хотя сидели на разном оборудовании. Правда за мою работу это только один раз было. Сидели в это время на свистках.


      1. igrblkv
        11.08.2026 11:48

        инфраструктуру я держу у себя, а не у чужого дяди.

        опту порвали - не слышали?


  1. coderun
    11.08.2026 11:48

    Интересно когда то наконец перестанут постить нейродрысню с нулевым выхлопа пользы?


    1. AleksaDi Автор
      11.08.2026 11:48

      @coderun Уверены? У меня вся инфраструктура построена на такой "нейродрысне", тот самый authentic и связка достаточно большого ПО.
      Обожаю "обдуманные и взвешенные" коменты.


      1. AleksaDi Автор
        11.08.2026 11:48

        p.s. картики - да, нейросеть.


      1. coderun
        11.08.2026 11:48

        Да проблем нет, пожалуйста разворачивайте с использованием ИИ, зачем об этом писать, если я могу всё это спросить у ИИ и повторить тоже самое. Какой смысл таких статей "я спросил у ИИ и он мне построил такую инфру"?


      1. itoolsy
        11.08.2026 11:48

        Уверены. Статья - 146% нейрослоп. Я, когда вижу, что docker compose это быстро надежно и молодежно - прям смеюсь в голос. Побольше таких статей, будет много работы нормальным людям. И еще там вы пару минут на логи с Loki + Alloy и Grafan-у заложили, тоже улыбнулся.


  1. Lopar
    11.08.2026 11:48

    Вот бы статью как, собственно, этот самый MailCow прогреть... Первое же попадание в спам больше чем на сутки, и любой свой почтовик выбрасывается начальством в пользу SaaS, пусть и не удобно и дорого, но почта 24\7 пока деньги на счету.


    1. igrblkv
      11.08.2026 11:48

      Белый ИП-адрес от провайдера и запрет спама с него самого - вот и весь прогрев?

      Нормальные настройки везде нужны будут или там всё "под ключ", даже подпись для писем включена?


      1. lioncub
        11.08.2026 11:48

        Ожидание....
        А вот реальность, белый IP от провайдера уже в блэклистах. Нужно нное кол-ва времени на вычистку его. Поэтому этим надо заниматься чуть заранее чем вчера.


        1. igrblkv
          11.08.2026 11:48

          Ну так кто мешает перед оплатой проверить по блэклистам и попросить поменять на другой?


    1. AleksaDi Автор
      11.08.2026 11:48

      Ниже в коментах вполне живой гайд по прогреву, поднимаем почтовый сервер и второстепенным доментом. Блочим от него отправку спама и потихоньку пишем письма сами себе и нескольким друзьям с просьбой отмечать что "это не спам".
      Так за месяцок и вылезете из "бана".
      Обязательно полное и грамотное заполнение всех полей в DNS (dkmi и т.д.)


  1. Kerman
    11.08.2026 11:48