Open Source дает бизнесу 3 главных преимущества
Во-первых, независимость. Никто не сможет внезапно остановить работу сервиса из-за санкций или корпоративных решений на стороне вендора.
Во-вторых, безопасность и прозрачность. У популярного Open Source ПО большое количество мейнтейнеров. Даже если надавить на одного из них, его коммиты будут ревьювить множество других независимых разработчиков. Мотивация у таких разработчиков простая: они любят то, чем занимаются, так как делают это на энтузиазме. Вредоносные коммиты не принимаются, а их авторы изгоняются из сообщества.
И, наконец, полный контроль и конфиденциальность данных. Вы буквально обладаете своими данными в полной мере.
Что мы заменили
Мы начали с PLANKA — это Kanban-доска для управления проектами. Переехали с Trello.

Безлимитное количество пользователей, особенно гостей. Глоток свежего воздуха после тарифных планов с оплатой per user per month. Кроме этого, можно добавить сколько угодно проектов и досок в рамках каждого проекта. PLANKA использует Apprise, а это значит, что вы сможете настроить уведомления в практически любой сервис, доступный в наши дни.
Есть возможность добавить любую автоматизацию и интеграцию через API, который доступен в PLANKA. Единственный нюанс: разработка и сопровождение интеграций лягут полностью на ваши плечи.
Когда стало ясно, что Zoom неудобно оплачивать, мы перешли на Jitsi Meet. Запуск на своем сервере гарантирует отсутствие ограничений и полную конфиденциальность разговора.

Работает в браузере, а гости заходят по ссылке, без регистрации и назойливых предложений скачать мобильное приложение от сервиса. Хотя нативные приложения под мобильные операционные системы также имеются. Для митингов до 10 человек нам хватает сервера с конфигурацией 2 ядра, 4 ГБ ОЗУ.
Vaultwarden вместо облачного менеджера паролей. Это OS-сервер под Bitwarden-клиенты. За три года использования в команде из 10–15 человек инцидентов не случалось. Весомый нюанс: отсутствие официальных аудитов безопасности. У большинства небольших Open Source-проектов их нет, и Vaultwarden здесь не исключение. Это не делает его небезопасным, так как код проекта открытый, его просматривает сообщество, а ошибки быстро исправляются. Но есть важное следствие: ответственность за безопасность данных ложится на вас.
Для хранения файлов по проектам мы выбрали Nextcloud вместо Dropbox. Общие файлы буквально лежат на вашем диске, вы обладаете ими физически. И отчетливо понимаете, у кого есть к ним доступ.
Gitea — Git-сервер, написанный на Go, который просто и честно работает.

Подойдет для небольших и средних команд, которым не нужен GitLab с 100 500 функциями. Не забудьте закрыть паблик-регистрацию новых пользователей и отключить авторизацию через Open ID по умолчанию, если вы не планируете ее использовать.
Советы тем, кто задумывается о переходе
Первое и самое важное. Безопасность — это ваша ответственность. Настройте SSH: отключите вход по паролю и авторизацию root-пользователю через ssh. Используйте вход по ssh-ключу с пасс-фразой, а еще лучше по аппаратному ключу. Настройте fail2ban, он защитит от перебора паролей и снизит шум в логах. Закройте неиспользуемые порты — для этого удобно задействовать ufw, его возможностей вполне хватит. Не забывайте регулярно обновлять систему и ПО.
Я использую Docker для всех сервисов. Каждый сервис изолирован, а пользовательские данные (volumes) и конфигурации (docker-compose.yml) для каждого сервиса хранятся отдельно. Такой подход упрощает создание резервных копий и ускоряет миграцию. Однажды из-за DDoS на наш хостинг-провайдер удалось провести восстановление сервисов на другом сервере из бэкапов за считаные часы.
Я сознательно не использую автоматическое обновление образов Docker, например через Watchtower. Обновляю вручную раз в месяц, предварительно читая патчноуты. Это позволяет быть в курсе новых возможностей и вовремя готовиться к мажорным обновлениям.
Делайте бэкапы и проверяйте их целостность. Бэкапы должны быть зашифрованы, так как они будут храниться физически на другой машине, а еще лучше у другого хостинга. Хорошая практика хранить ежедневные бэкапы с глубиной в неделю, еженедельные — с глубиной в месяц и ежемесячные — с глубиной в год.
Не забудьте про мониторинг и заранее разработайте инструкции на случай возникновения инцидентов. Можно пойти продвинутым вариантом и организовать мониторинг через Elasticsearch: следить за использованием процессора, памяти, свободного места и состоянием сети, доступностью сервисов и логами ПО.
А есть вариант попроще: можно развернуть Uptime Kuma в Докер-контейнере и следить за доступностью и состояниями ваших сервисов и контейнеров. Есть уведомления в Телеграм и множество других сервисов.
Используйте HTTPS для ваших сервисов. Для получения SSL-сертификатов Let’s Encrypt и в качестве обратного прокси можно использовать Nginx Proxy Manager. Он гораздо проще и быстрее в настройке, чем ванильный nginx.
Кто занимается обновлением и поддержкой
В нашей веб-студии обслуживанием инфраструктуры занимаюсь лично я. Первоначальная настройка окружения, контейнеров, системы бэкапов и мониторинга займет примерно один рабочий день. Но это работа одноразовая. Даже если вы новичок в Linux, чат-ассистент подскажет команды для терминала и поможет с отладкой. Главное, что благодаря этой статье у вас есть проверенная методика, по которой можно идти.
Дальше поддержка минимальная: на то, чтобы обновлять образы и систему, я трачу не больше получаса в месяц. Согласитесь, куда меньше времени, чем может показаться на первый взгляд.
Если у вас совсем нет ресурсов на сопровождение, возможно, проще оставить часть сервисов на SaaS.
Да, этот путь требует усилий и ответственности. Вам придется следить за обновлениями, безопасностью, бэкапами и брать на себя роль хранителя своих цифровых активов. Но в ответ вы получаете суверенитет. Ваши данные остаются с вами независимо от внешних обстоятельств. Вы больше не арендатор, зависящий от политики зарубежной корпорации, а полноправный владелец своей IT-инфраструктуры.
Стоит ли оно того? После трех лет бесперебойной работы без сюрпризов я могу уверенно сказать: да, безусловно. Оно того стоит.