Инструменты пользователя

Инструменты сайта


raspberry_pi:pi_4_model_b:raspberry_pi_os:vaultwarden

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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] (текущий)
Николай Солошин Добавлено обновление
Строка 18: Строка 18:
 ===== Муки выбора ===== ===== Муки выбора =====
  
-Мук, как таковых, на самом деле и не было -- пробежался по интерфейсам 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}}
Строка 36: Строка 36:
 //Все манипуляции проводятся на 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;//
Строка 124: Строка 124:
 ==== 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
Строка 272: Строка 272:
   - открываем конфигурацию\\ \\ <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>
Последнее изменение: 2023/05/06 12:05 — Николай Солошин