| Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
raspberry_pi:pi_4_model_b:raspberry_pi_os:vaultwarden [2023/05/06 12:05] Николай Солошин |
raspberry_pi:pi_4_model_b:raspberry_pi_os:vaultwarden [2023/12/20 23:06] (текущий) Николай Солошин Добавлено обновление |
| ===== Муки выбора ===== | ===== Муки выбора ===== |
| |
| Мук, как таковых, на самом деле и не было -- пробежался по интерфейсам Open Source систем, имеющих self-hosted решения, выбрал, что больше нравится и соответствует моим требованиям, погуглил немного отзывы и историю и остановился на [[https://bitwarden.com/|Bitwarden'e]]. Далее осталось выбрать реализацию сервиса. | Мук, как таковых, на самом деле и не было -- пробежался по интерфейсам Open Source систем, имеющих self-hosted решения, выбрал, что больше нравится и соответствует моим требованиям, погуглил немного отзывы и историю, в итоге остановился на [[https://bitwarden.com/|Bitwarden'e]]. Далее осталось выбрать реализацию сервиса. |
| |
| {{:raspberry_pi:pi_4_model_b:raspberry_pi_os:vaultwarden.png?nolink|Vaultwarden}} | {{:raspberry_pi:pi_4_model_b:raspberry_pi_os:vaultwarden.png?nolink|Vaultwarden}} |
| //Все манипуляции проводятся на 64-битной Raspberry Pi OS 11 (bullseye):// | //Все манипуляции проводятся на 64-битной Raspberry Pi OS 11 (bullseye):// |
| |
| * //Vaultwarden 2023.3.0;// | * //Vaultwarden 1.28.1;// |
| * //Docker 23.0.5;// | * //Docker 23.0.5;// |
| * //nginx 1.18.0;// | * //nginx 1.18.0;// |
| ==== MikroTik ==== | ==== MikroTik ==== |
| |
| Конфигурация маршрутизатора сводится к публикации портов и, если необходимо, настройке [[https://blog.mark99.ru/pravilnyj-nat-loopback-hairpin-nat-v-mikrotik/|NAT Loopback]]. | Конфигурация маршрутизатора сводится к публикации портов 80/7684((3012 публиковать не надо!)) и, если необходимо, настройке [[https://blog.mark99.ru/pravilnyj-nat-loopback-hairpin-nat-v-mikrotik/|NAT Loopback]]. |
| |
| <file rsc vaultwarden.rsc># Server Publishing | <file rsc vaultwarden.rsc># Server Publishing |
| /ip firewall nat | /ip firewall nat |
| add action=netmap chain=dstnat comment="Publishing .well-known and Vaultwarden" dst-address=AAA.AAA.AAA.AAA dst-port=80,7684,3012 protocol=tcp to-addresses=XXX.XXX.XXX.XXX | add action=netmap chain=dstnat comment="Publishing .well-known and Vaultwarden" dst-address=AAA.AAA.AAA.AAA dst-port=80,7684 protocol=tcp to-addresses=XXX.XXX.XXX.XXX |
| /ip firewall filter | /ip firewall filter |
| add action=accept chain=forward comment="Accept .well-known and Vaultwarden" dst-address=XXX.XXX.XXX.XXX dst-port=80,7684,3012 in-interface=Internet-1 protocol=tcp | add action=accept chain=forward comment="Accept .well-known and Vaultwarden" dst-address=XXX.XXX.XXX.XXX dst-port=80,7684 in-interface=Internet-1 protocol=tcp |
| |
| # NAT Loopback | # NAT Loopback |
| - открываем конфигурацию\\ \\ <code>nano /opt/vaultwarden/config.json</code>и удаляем из нее строку "admin_token" | - открываем конфигурацию\\ \\ <code>nano /opt/vaultwarden/config.json</code>и удаляем из нее строку "admin_token" |
| - регистрируем контейнер заново **без переменной** окружения «<nowiki>-e ADMIN_TOKEN</nowiki>»\\ \\ <code>docker run -d -e TZ='Asia/Vladivostok' -e WEBSOCKET_ENABLED=true --restart unless-stopped --name vaultwarden -v /opt/vaultwarden/:/data/ -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 vaultwarden/server:latest</code> | - регистрируем контейнер заново **без переменной** окружения «<nowiki>-e ADMIN_TOKEN</nowiki>»\\ \\ <code>docker run -d -e TZ='Asia/Vladivostok' -e WEBSOCKET_ENABLED=true --restart unless-stopped --name vaultwarden -v /opt/vaultwarden/:/data/ -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 vaultwarden/server:latest</code> |
| | |
| | ===== Обновление ===== |
| | |
| | Обновление, в моем случае, с версии 1.28.1 до 1.30.1 простейшее и описано ниже, но! |
| | |
| | :!: //В этой версии служба web-сокета на отдельном порту [[https://github.com/dani-garcia/vaultwarden/releases/tag/1.30.1|оставлена только в режиме совместимости]], т.е. она не будет обновляться, и в ближайшем будущем будет вообще удалена! **Поэтому обновление на более свежую версию, вероятно, уже потребует изменения [[https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples|конфигурации обратного прокси]].**// |
| | |
| | - Авторизуемся под суперпользователем\\ \\ <code>sudo -s</code> |
| | - загружаем новый образ\\ \\ <code>docker pull vaultwarden/server:latest</code> |
| | - останавливаем и удаляем старый контейнер\\ \\ <code>docker stop vaultwarden & docker rm vaultwarden</code> |
| | - настраиваем и запускаем новый\\ \\ <code>docker run -d -e TZ='Asia/Vladivostok' -e WEBSOCKET_ENABLED=true --restart unless-stopped --name vaultwarden -v /opt/vaultwarden/:/data/ -p 127.0.0.1:8080:80 -p 127.0.0.1:3012:3012 vaultwarden/server:latest</code> |
| | |
| | На этом, собственно, все. |
| | |
| | * Очистить Docker от накопившегося хлама, выполнив команду\\ \\ <code>docker system prune -a</code>но надо быть осторожным, т.к. **не** удаляет она только запущенные контейнеры и соответствующие им образы! |
| | * Узнать текущую версию сервера можно, выполнив команду\\ \\ <code>sudo docker logs vaultwarden | grep "Version" -m 1</code> |
| | |
| | ===== Резервное копирование ===== |
| | |
| | Для резервного копирования можно использовать [[raspberry_pi:pi_4_model_b:raspberry_pi_os:bash:scripts:backup|этот скрипт]] с такой конфигурацией((Подробнее в [[https://github.com/dani-garcia/vaultwarden/wiki/Backing-up-your-vault|официальной документации]].)): |
| | |
| | <file text files.txt>/etc/nginx/sites-enabled/vaultwarden.vhost |
| | /opt/vaultwarden/</file> |
| | |
| | <file text sqlitedbs.txt>/opt/vaultwarden/db.sqlite3</file> |