Лучшие контейнеры Docker

Docker – это неотъемлемая часть моей повседневной работы с 2019 года. За это время я опробовал огромное количество образов, как официальных поддерживаемых компанией Docker, так и созданных сообществом разработчиков. В этом списке я собрал свои любимые образы, которые я использую ежедневно и без которых моя жизнь была бы значительно сложнее.)

Bitwarden

Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.

Каким должен быть идеальный менеджер паролей?

Разумеется, безопасным. Нельзя даже рассматривать не-опенсорсные варианты, ведь предназначение любого закрытого кода это сливать ваши данные или внедрять всякие неприятные штуки в систему. И пароли — лучшее место, чтобы дать волю паранойе, поэтому отметаем непопулярные продукты и форки, если нет желания читать все исходники целиком и собирать проект из исходников.
Второй очевидный и обязательный аспект безопасности — шифрование. Было бы глупо настроить супер-секьюрную систему на сервере и потерять пароли из-за MITMа злоумышленника или провайдера.
Бывает, что нужно хранить не только пароли. Важная и чувствительная информация может быть представлена в виде текста (например, токены), и этот текст должно быть удобно хранить в менеджере.
Любые данные могут использоваться несколькими людьми. Например, любые чувствительные данные, относящиеся к IT-инфраструктуре бизнеса, не могут быть доступны одному конкретному админу. Отсюда вытекает необходимость делиться защищёнными данными с несколькими аккаунтами в организации.
Особенно важный пункт для лично использования: кроссплатформенность. Мы используем одни и те же аккаунты с разных устройств, и в идеале менеджер паролей должен работать на всех возможных платформах и в как можно большем количестве браузеров и приложений.
Также для self-hosted хранилища нужно делать регулярные бекапы. И вообще было бы неплохо, чтобы вся система устанавливалась без лишнего геморроя. В конце концов, не все мы красноглазые героические админы и девопсы.

Обычно у айтишников (особенно, у повёрнутых на безопасности) возникают и более детальные, личные требования. Я привёл лишь те, которые кажутся мне самыми распространёнными и важными. И, конечно, Bitwarden удовлетворяет им всем, иначе я бы нашёл вариант получше. Вообще у него есть и сервисная часть, и даже платные планы, но базового функционала бесплатного плана нам вполне хватит. При этом self-hosted версия вообще никак не связана с серверами bitwarden.com (исходный код которых также открыт и проходит регулярные аудиты безопасности).

self-hosted; open source
docker image: https://hub.docker.com/r/bitwardenrs/server
URL: https://bitwarden.com

Portainer

Portainer – это инструмент для управления контейнерами в Docker, Swarm, Kubernetes и Azure ACI. Как написано в документации Portainer’а:

«Отрицая необходимость для пользователей использовать интерфейс командной строки, писать YAML или понимать манифесты, Portainer делает развертывание приложений и устранение неполадок настолько простым, что любой может это сделать».

self-hosted; open source
docker image: https://hub.docker.com/r/portainer/portainer-ce
URL: https://www.portainer.io

Commentario

Commento - легкая платформа для комментирования, заботящаяся о конфиденциальности.

self-hosted; open source
docker image: https://gitlab.com/comentario/comentario/
URL: https://comentario.app/

NGINX proxy manager

Nginx Proxy Manager (NPM) — это обратный прокси для простого запуска веб-сайта или размещения приложения, такого как медиа или игровой сервер. С помощью безопасного интерфейса администратора вы можете создавать домены переадресации, перенаправления, потоки и узлы 404. Вы также получаете бесплатный SSL с помощью Let’s Encrypt или можете использовать свой собственный пользовательский сертификат.

NPM также поддерживает списки доступа и HTTP-аутентификацию с управлением пользователями, разрешениями, журналом аудита и расширенной конфигурацией для суперпользователей. Пользовательский интерфейс создан с помощью Tabler, чтобы быть удобным для пользователя и в то же время полезным. Вы также можете настроить несколько пользователей для доступа с некоторыми разрешениями или предоставить полный доступ.

Если вы новичок в самостоятельном хостинге и Traefik немного пугает, то NPM — хорошее начало.

self-hosted; open source
docker image: https://hub.docker.com/r/jc21/nginx-proxy-manager
URL: https://nginxproxymanager.com
GIT: https://github.com/jc21/nginx-proxy-manager

Obsidian

Obsidian это приложение (windows, mac, ios, android) по сути, блокнот/читалка, которая позволяет связывать между собой файлы. В файлах можно добавлять форматированный текст, картинки, таблицы, формулы, видео, аудио, код и многое другое.

self-hosted
docker image: https://hub.docker.com/_/couchdb
URL: GitHub - vrtmrz/obsidian-livesync


Несмотря на то, что я ежедневно использую множество других образов Docker, именно эти образы я использую чаще всего и которые необходимы мне в повседневной работе. Я уверен, что со временем это изменится, но я думаю, что не сильно, и если я запущу новый контейнер, о котором стоит упомянуть, вы можете быть уверены, что я напишу об этом здесь.