Как установить Vaultwarden с помощью Docker на Linux

Что такое Vaultwarden

Vaultwarden — это неофициальная реализация сервера Bitwarden с открытым исходным кодом. Она требует меньше ресурсов, проще в установке и предназначена для самостоятельного размещения. Совместима со всеми официальными клиентами Bitwarden и предоставляет большинство функций оригинального сервера, позволяя безопасно хранить и синхронизировать пароли под вашим полным контролем.

Как установить Docker и Docker Compose

Мы будем устанавливать Vaultwarden на Ubuntu 24.04, на Docker и из-за этого нам нужен Docker, а также Docker Compose.
Чтобы их установить,  для начала в терминале выполняем команду проверки обновления ОС:

apt update && apt upgrade -y

После того как ОС обновилась, если было обновлении, выполняем команду для установки Docker:

apt install -y docker.io

Теперь вы должны настроить автозапуск Docker:

systemctl enable docker
systemctl start docker

Ура, первый шаг мы прошли успешно, теперь мы должны установить Docker Compose, как он необходим для работы Vaultwarden:

apt install -y docker-compose

На этом мы завершили установку Docker и Docker Compose, теперь можем продолжить с установкой Vaultwarden и NGINX Proxy Manager который поможет нам легко сделать наш контейнер защищенным т.е. легко сделать прокси на порт с SSL сертификатом и таким способом увеличичить безопасность связи к контейнеру.

Как установить Vaultwardenad

Мы должны создать папку и войти в нее, так нам будет легче управлять в будущем с контейнером, это можно сделать с одной командой:

mkdir ~/vaultwarden-npm && cd ~/vaultwarden-npm

Теперь мы создаем файл в котором будут и сами настройки контейнера которые можно в любом моменте менять, файл создаем с помощью команды и сразу в него вставляем:

nano docker-compose.yml

version: "3"

services:
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
ports:
- "82:80"
volumes:
- ./vw-data:/data
environment:
- ADMIN_TOKEN=ОБЯЗАТЕЛЬНО УКАЖИТЕ ВАШ ПАРОЛЬ!!!

npm-db:
image: mariadb:10.5
container_name: npm-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: npm_root_pass
MYSQL_DATABASE: npm
MYSQL_USER: npm
MYSQL_PASSWORD: npm_pass
volumes:
- ./npm-db-data:/var/lib/mysql

nginx-proxy-manager:
image: jc21/nginx-proxy-manager:latest
container_name: nginx-proxy-manager
restart: unless-stopped
depends_on:
- npm-db
ports:
- "80:80" # HTTP
- "443:443" # HTTPS
- "81:81" # Admin UI
environment:
DB_MYSQL_HOST: npm-db
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: npm
DB_MYSQL_PASSWORD: npm_pass
DB_MYSQL_NAME: npm
volumes:
- ./npm-data:/data
- ./npm-letsencrypt:/etc/letsencrypt

Чтобы запустить контейнеры Vaulwarden и NGINX Proxy Manager, выполняем следующую команду:

docker-compose up -d

ВАЖНО!! Если у вас будет ошибка с Docker Compose, выполните следующую команду и затем снова выполните команду выше:

apt install pip -y

Ждем чтобы все контейнеры скачались, распаковались и установились:

Как установить Vaultwarden с помощью Docker на Linux

После того как установка завершилась и контейнеры запустились, увидите данное сообщение в терминале.

Как настроить проксирование контейнера и SSL с помощью NGINX Proxy Manager

Чтобы настроить проксирование чтобы оно вело на наш домен, а также чтобы установить SSL, переходим по ссылке:

http://ip-аддресс:81

Данные для первого входа в панель:

Почта: [email protected]

Пароль: changeme

Сразу после входа будет необходимо их поменять.

Как установить Vaultwarden с помощью Docker на Linux

Сначала меняем почту, а затем пароль.

Чтобы добавить наш домен/поддомен который уже смотрит на IP сервера, нажимаем на Hosts, затем на Proxy hosts

Как установить Vaultwarden с помощью Docker на Linux

После того как вошли в нужное меню, нажмите на Add proxy host

Как установить Vaultwarden с помощью Docker на Linux

 

Затем нужно заполнить данные домена/поддомена таким способом, указав домен/поддомен, IP и порт на котором работает Vaultwarden.

Как установить Vaultwarden с помощью Docker на Linux

Теперь нужно нажать на SSL, выберите Force SSL, HTTP/2 Support, согласитесь с условиями и сохраните.

Как установить Vaultwarden с помощью Docker на Linux

После того как сертификат выдался и прокси настроился, вы должны увидеть такую картину

Как установить Vaultwarden с помощью Docker на Linux

Видим что SSL выдался и Vaultwarden теперь доступен по нашему домену/поддомену.
Переходим по ссылке и если все хорошо – откроется Vaulwarden.

Как установить Vaultwarden с помощью Docker на Linux

Чтобы создать аккаунт где будете хранить пароли, нажмите на Create account. На русском будет написано Создать аккаунт.
После перехода на страницу регистрации, вы должны заполнить все поля и зарегистрироваться.

Как установить Vaultwarden с помощью Docker на Linux

После регистрации вы должны зайти на сайт Bitwarden и скачать приложение, как для браузера, так и для телефона и Windows, MacOS, Linux.
Ссылка на их сайт: https://bitwarden.com/download/

Первый вход в аккаунт выглядит именно так. Здесь вы можете настроить все папки и прочее.

Как установить Vaultwarden с помощью Docker на Linux

При настройке на устройстве при добавлении аккаунта вы должны указать тип аккаунта self-hosted и затем указать ссылку на ваш Vaultwarden, почту пользователя которого вы создали и пароль.

Вы помните пароль который мы указали в docker-compose.yml? Именно его вы можете использовать для входа в админскую панель для управлении вашего Vaultwarden, по ссылке

https://vaultwarden.primer/admin

Как установить Vaultwarden с помощью Docker на Linux

Сразу после входа у вас будет возможность с легкостью управлять с вашим Vaultwarden, как в нем есть много настроек которые вы можете сделать под себя.

Как установить Vaultwarden с помощью Docker на Linux

 

Спасибо что прочитали инструкцию по установке Vaultwarden до конца. Теперь вы научили как его можно с легкостью установить на свой сервер и хранить свои пароли самостоятельно, а не на серверах которые не администрируются вами.