Установка KeeWeb на Ubuntu 22.04 через Docker
Кратко
О чём эта инструкция
Это пошаговое руководство показывает, как быстро развернуть KeeWeb — кроссплатформенный менеджер паролей, совместимый с KeePass — на сервере Ubuntu 22.04 с помощью Docker. Здесь вы найдёте команды, пример Docker Compose, рекомендации по безопасности, резервному копированию и проверке работоспособности.
Требования
- Сервер с Ubuntu 22.04.
- Доступ root или привилегии sudo.
- Открытые порты 80/443 или возможность настроить обратный прокси.
Обновление системы и установка зависимостей
Перед началом обновите пакеты и установите необходимые утилиты:
apt update -y
apt upgrade -yУстановите вспомогательные пакеты:
apt install apt-transport-https git ca-certificates curl software-properties-common gnupg2 unzip -yВажно: выполняйте обновления перед установкой Docker, чтобы избежать конфликтов с зависимостями.
Установка Docker CE
Добавьте ключ GPG Docker и репозиторий, затем установите Docker:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpgecho "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | tee /etc/apt/sources.list.d/docker.list > /dev/nullapt update -y
apt install docker-ce -yПроверьте версию Docker:
docker -vВ примере вывод мог быть похож на:
Docker version 20.10.22, build 3a2c30bБыстрый запуск KeeWeb (однокомандный)
Чтобы быстро запустить контейнер и открыть порты 80/443, используйте:
docker run --name keeweb -d -p 443:443 -p 80:80 antelle/keewebПроверите скачанные образы и запущенные контейнеры:
docker images
docker psВ примере образ имел размер около 144MB и имя antelle/keeweb.
Доступ к веб-интерфейсу
Откройте в браузере:
Изображение входа в KeeWeb:

Чтобы создать новый файл базы паролей: нажмите +, выберите New (новый), укажите мастер-пароль и скачайте файл ключевого хранилища.




Настройте сочетания клавиш и внешний вид в боковой панели:


Постоянное хранилище и рабочая конфигурация
По умолчанию контейнер не сохраняет файлы между перезапусками. Рекомендуется монтировать папку для хранения .kdbx и конфигурации.
Пример запуска с томом:
docker run --name keeweb -d -p 443:443 -p 80:80 -v /srv/keeweb/data:/home/keeweb/data antelle/keewebРазъяснение: поместите ваши .kdbx файлы в /srv/keeweb/data на хосте. Контейнер будет использовать их как постоянное хранилище.
Docker Compose — пример
Ниже минимальный docker-compose.yml для продакшн-развёртывания с перезапуском и томом:
version: '3.8'
services:
keeweb:
image: antelle/keeweb:latest
container_name: keeweb
ports:
- "80:80"
- "443:443"
volumes:
- /srv/keeweb/data:/home/keeweb/data
restart: unless-stoppedЗапустите:
docker-compose up -dОбратный прокси и TLS (рекомендация для публичного доступа)
Для безопасного доступа в продакшне используйте обратный прокси (nginx, Traefik) и получайте сертификат Let’s Encrypt. Преимущества: централизованное TLS, rate limiting, базовая аутентификация при необходимости.
Пример фрагмента nginx.conf (проксирование на порт 80):
server {
listen 80;
server_name keeweb.example.com;
location / {
proxy_pass http://127.0.0.1:80;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}После получения сертификата настройте 443 и proxy_pass на контейнер.
Резервное копирование и восстановление
Практические шаги:
- Храните резервные копии .kdbx в отдельном зашифрованном месте (S3, rsync, offsite).
- Делайте регулярные экспорты и проверяйте целостность файла.
Простой runbook для администратора:
- Остановить контейнер: docker stop keeweb
- Скопировать /srv/keeweb/data/backup-YYYYMMDD.kdbx на внешний носитель
- Перезапустить контейнер: docker start keeweb
Для восстановления замените текущий .kdbx файлом из резервной копии и перезапустите контейнер.
Безопасность и жёсткое усиление
- Запускайте контейнер с минимумом привилегий.
- Используйте UFW для разрешения только нужных портов: 80/443. Закройте 2375 и прочие административные порты.
- Ограничьте доступ к папке данных на хосте (chmod 700, владелец root или специальный пользователь).
- Настройте регулярные обновления образа и плановые перезапуски для установки патчей.
- Рассмотрите двухфакторную аутентификацию для сервисов, где это возможно (для доступа к хранилищу файлов, облакам).
Important: мастер-пароль — единственная строка доверия. Никогда не храните мастер-пароль в открытом виде на сервере.
Отладка и типичные проблемы
- Контейнер не стартует: просмотрите логи docker logs keeweb.
- Порт уже занят: проверьте sudo ss -tulpn | grep :80.
- Проблемы с персистентностью: убедитесь в правах доступа к /srv/keeweb/data.
Альтернативные подходы
- Локальный Desktop / AppImage: устанавливайте KeeWeb как десктоп-приложение для локального использования.
- Самостоятельная сборка образа: если нужны патчи или плагины, можно собрать Docker-образ из исходников KeeWeb.
- Хранение .kdbx в облачных хранилищах (OneDrive, Google Drive, Dropbox) — удобно, но проверьте политику конфиденциальности.
Рекомендации по использованию (эвристики)
- Храните master.kdbx отдельно от автоматических бэкапов.
- Для совместного доступа используйте общий файловый репозиторий с ограниченным доступом.
- Часто проверяйте журнал активности и используйте версионирование файлов.
Роли и чек-листы
Администратор:
- Установить Docker и развернуть контейнер.
- Настроить тома и права доступа.
- Настроить резервное копирование и мониторинг.
Пользователь:
- Создать мастер-пароль.
- Скачать локальную копию .kdbx и хранить резервную копию.
- Использовать менеджер паролей регулярно, применять уникальные пароли.
Разработчик/интегратор:
- При необходимости собрать кастомный образ с плагинами.
- Настроить CI для обновления и тестирования образа.
Критерии приёмки
- Веб-интерфейс доступен по HTTPS на заданном домене.
- Файл .kdbx сохраняется на хосте и переживает перезапуск контейнера.
- Резервные копии создаются и восстанавливаются по инструкции.
- Минимальные требования безопасности (TLS, права на директорию, файервол) соблюдены.
Краткий словарь терминов
- .kdbx — формат файла базы KeePass/KeeWeb.
- Docker — платформа для запуска контейнеров.
- Обратный прокси — сервис, принимающий внешние запросы и передающий их приложению.
Факты и числа
- Образ antelle/keeweb в примере имел размер ≈144 MB.
- В примере использовалась версия Docker 20.10.22 (может отличаться у вас).
Заключение
Поздравляем — KeeWeb установлен и доступен. Вы можете использовать контейнер для централизованного хранения .kdbx и синхронизации с облачными хранилищами. Настройте резервное копирование и обратный прокси с TLS для надёжной эксплуатации.
Если нужны примеры конфигураций под Nginx, Traefik или готовый CI-пайплайн для обновлений — напишите, и я подготовлю их.
Резюме:
- Установите Docker и запустите antelle/keeweb.
- Примонтируйте том для .kdbx, чтобы данные сохранялись.
- Используйте обратный прокси и TLS в продакшне.
- Настройте регулярное резервное копирование и мониторинг.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента