Свои сервисы для небольшой команды: почта, файлы, пароли и календарь на одном сервере
Что можно разместить на одном сервере для команды до 20 человек, сколько для этого нужно ресурсов, как это обслуживать и в какой момент выгоднее вернуться к облаку.
Для команды из пяти-двадцати человек облачные подписки быстро складываются в постоянную статью расходов: почта, файлы, календарь, менеджер паролей, и за каждого сотрудника платится отдельно. Всё это можно держать на одном собственном сервере. Но экономия здесь не главный вопрос. Важнее другое: как организовано обслуживание, чтобы систему можно было восстановить, передать и не зависеть от чьей-то памяти. Разберём, что можно разместить, сколько это требует ресурсов и времени и где проходит граница, после которой облако становится разумнее.
Что именно можно разместить
Типичный набор для небольшой команды закрывает четыре задачи:
| Задача | Чем закрываем | Заменяет | Сложность |
|---|---|---|---|
| Файлы, календарь, контакты | Nextcloud | Google Drive, календарь и контакты Google | Средняя |
| Пароли | Vaultwarden | Облачные менеджеры паролей | Низкая |
| Почта | Postfix, Dovecot, Rspamd | Яндекс.Почта, Google Workspace | Высокая |
| Доступ снаружи | Nginx, сертификаты, WireGuard | Входные точки облачных сервисов | Средняя |
Файлы, календарь и контакты Nextcloud отдаёт и в браузере, и в стандартных приложениях на телефоне (по протоколам CalDAV и CardDAV), поэтому сотрудникам не нужно привыкать к чему-то необычному. Подробно установка описана в статье про Nextcloud вместо Google Drive, менеджер паролей разобран в статье про Vaultwarden.
Почта в этом списке самая сложная, и дело не в установке. Установить Postfix и Dovecot несложно. Трудно сделать так, чтобы ваши письма стабильно доходили до крупных почтовых сервисов: нужны чистый IP-адрес с правильной обратной записью, SPF, DKIM и DMARC и постоянное внимание к репутации. Если команда готова этим заниматься, смотрите статью про уход с Яндекс.Почты на свой сервер. Если нет, разумный компромисс: почту оставить у провайдера на своём домене, а файлы, календарь и пароли перенести на свой сервер. Так вы убираете самую хрупкую часть, но не теряете главный выигрыш.
Сколько ресурсов нужно
Ориентиры для команды до 20 человек без совместного редактирования документов в реальном времени:
| Компонент | Память | Комментарий |
|---|---|---|
| Nextcloud с базой данных и Redis | 2–4 ГБ | Растёт с числом пользователей и объёмом файлов |
| Почта с антиспамом | 1–2 ГБ | Антиспам Rspamd и антивирус заметно прибавляют |
| Vaultwarden | около 100 МБ | Очень лёгкий сервис |
| Nginx, система, запас | 1–2 ГБ | Лучше не экономить |
Итого комфортной будет машина с 8 ГБ памяти и четырьмя ядрами, диски SSD в зеркале. Это ориентиры, а не гарантия: точные цифры зависят от объёма данных и от того, как команда работает с файлами. Объём диска считайте от ваших данных с большим запасом: почта и файлы растут быстрее, чем кажется, а копии на другой площадке занимают столько же места, сколько оригинал.
Если вы хотите, чтобы сотрудники редактировали документы вместе в браузере, добавляется ещё один сервис (Collabora или OnlyOffice). Он заметно тяжелее остального набора и усложняет обслуживание, поэтому решайте это отдельно и заранее.
Что выбрать для самой машины, зависит от условий. Старый компьютер в офисе подойдёт при наличии статического IP и ИБП, как в статье про старый компьютер как сервер. VPS проще, если у провайдера нет статического адреса или нужны открытые порты.
Как это устроено на одном сервере
Схема получается компактной, и она повторяет то, что уже описано в других статьях блога:
- Nginx принимает запросы снаружи, выпускает и продлевает сертификаты и направляет трафик в нужный сервис.
- Nextcloud, его база данных и Redis работают в контейнерах Podman, описанных файлами Quadlet. Так конфигурация лежит в нескольких файлах и переносится на другой сервер копированием.
- Vaultwarden работает отдельным контейнером с собственным томом.
- Почта остаётся на самом сервере или переезжает к провайдеру, как описано выше.
- Панели администрирования не открываются в интернет: доступ к ним идёт через WireGuard.
Базовую защиту самого сервера (SSH-ключи, файрвол, автоматические обновления) настройте до установки сервисов, по статье про первые 30 минут нового сервера.
Что придётся делать постоянно
Установка занимает день-два. Обслуживание не заканчивается никогда, и именно оно определяет, получится ли у вас надёжная система. Минимум, который нужно закрывать регулярно:
- Обновления системы и образов контейнеров: безопасность не ждёт удобного момента.
- Копии и проверка восстановления. Копия, из которой ни разу не пробовали восстановиться, пока что только надежда. Настройка описана в статье про Borg; раз в квартал стоит развернуть данные на чистой машине.
- Мониторинг места на диске, состояния дисков (SMART) и сроков сертификатов. Забитый диск останавливает почту и Nextcloud сразу.
- Учётные записи. Когда сотрудник уходит, нужно закрыть его доступ к Nextcloud и почте и сменить общие пароли, которые он знал.
- Двухфакторная аутентификация для всех, особенно для администратора.
При спокойной работе это обычно несколько часов в месяц, но к ним добавляются непредсказуемые инциденты: сломанное обновление, отказавший диск, письма, которые вдруг перестали доходить. Эти часы нужно заранее закрепить за конкретным человеком.
Как сделать систему надёжной и независимой от одного человека
Сервер надёжен не потому, что за ним следит много людей, а потому, что он построен так, чтобы его мог восстановить и обслужить любой грамотный администратор. Для этого нужно несколько вещей, и все они закрываются при настройке:
- Всё описано файлами. Контейнеры в Quadlet, настройки Nginx и почты лежат в файлах, а не «в голове». Сервер можно воссоздать на другой машине, а любое изменение видно.
- Документация у вас. Схема системы, адреса, порядок обновления и восстановления передаются заказчику и остаются у него.
- Доступы принадлежат вам. Домен, сервер или VPS и пароли администратора оформлены на вас. Исполнитель не владеет вашей инфраструктурой и не может «забрать её с собой».
- Копии проверены на деле. Копии лежат на другой площадке, а восстановление отрепетировано по инструкции. Если понадобится, развернуть данные сможет другой специалист.
- Мониторинг с уведомлениями. О проблеме узнаёт и администратор, и вы, а не только тот, кто заметил, что почта не приходит.
- Согласованные условия сопровождения. Что входит, какое время реакции, как решаются срочные случаи и выходные.
Кто будет обслуживать
| Вариант | Когда подходит | На что обратить внимание |
|---|---|---|
| Сотрудник в команде | Есть человек с нужными навыками и временем | Нужен второй человек с доступом и документация, чтобы не зависеть от отпуска и увольнения |
| Внешний администратор по абонентскому договору | В команде нет технического специалиста | Зафиксируйте в договоре состав работ, время реакции и передачу документации |
| Настроили один раз и обслуживаете сами | Небольшая команда, нетребовательная к простою | Готовность регулярно выделять время на обновления и копии |
Любой вариант с одним исполнителем имеет естественное ограничение: человек может быть недоступен. Это не делает систему ненадёжной, но его нужно закрыть заранее: документацией, возможностью подключить другого администратора и договорённостью о времени реакции.
Законодательство о персональных данных
Если сервисы хранят персональные данные клиентов или сотрудников граждан России, их первичная запись и хранение должны быть в базах на территории России. Собственный сервер в офисе или VPS российского провайдера это обеспечивает, а у зарубежных облаков с этим бывают сложности. Это не юридическая консультация: если вы обрабатываете такие данные в больших объёмах, согласуйте детали с юристом.
Когда лучше остаться в облаке
Собственный сервер не всегда выигрывает. Облако разумнее, если:
- нет ни сотрудника, ни внешнего исполнителя, готового отвечать за сервер, и вы не хотите его искать;
- вам нужна гарантия доступности на уровне крупного облачного провайдера с договором и компенсацией за простой, а несколько часов недоступности стоят вам дороже подписок;
- команда быстро растёт и скоро выйдет за пределы двадцати человек, а совместная работа над документами в реальном времени для неё критична;
- вы не готовы заниматься почтой и при этом не хотите её отдавать провайдеру.
Собственные сервисы выигрывают, когда данные чувствительные или регулируются законом, команда небольшая и стабильная, затраты на подписки заметно растут с каждым сотрудником, а контроль над данными для вас важнее удобства «из коробки».
Из чего складываются расходы
Цифры зависят от ваших условий, поэтому назову статьи расходов, которые обычно забывают считать:
- Сервер: покупка или аренда VPS, а для своего железа ещё и ИБП, диски, электричество.
- Домен и сертификаты: сертификаты бесплатны, но домен платный.
- Копии на другой площадке: дополнительное хранилище, которое тоже стоит денег.
- Время администратора: основная статья, которую чаще всего не включают в сравнение. Своё время тоже время, а внешнего исполнителя нужно оплатить.
Сравнивая со стоимостью подписок, считайте именно эти пункты, а не только цену сервера.
Итог
Один сервер вполне способен заменить набор облачных подписок для небольшой команды: файлы, календарь, контакты и пароли обслуживаются относительно просто, почта сложнее всего. Решение стоит принимать не по цене железа, а по тому, как организовано обслуживание. Если система описана файлами, копии проверены, документация и доступы у вас, а сопровождение закреплено за конкретным человеком, свои сервисы дают контроль и предсказуемые расходы. Если обслуживать их некому и искать исполнителя вы не готовы, лучше честно остаться в облаке.
Похожие материалы
- Инфраструктура на вашем сервере — установка и настройка сервисов под задачи вашей команды.
- Почта на вашем домене — собственная почта с настройкой доставляемости.
- Nextcloud вместо Google Drive: своё облако на Podman — установка файлов, календаря и контактов.
- Vaultwarden: свой менеджер паролей — хранилище паролей для команды.
- Уход с Google Workspace на свой сервер — как переносить данные и пользователей.
Если нужно спланировать такую систему для вашей команды или взять её обслуживание на себя, напишите: оценим нагрузку, подберём конфигурацию и договоримся, кто и как будет её сопровождать.