Просте 5-хвилинне налаштування MySQL Vaultwarden за допомогою docker-compose

Примітка: Я рекомендую завжди використовувати MySQL для підготовки до майбутнього масштабування. Якщо ви дійсно хочете використовувати SQLite, дивіться Просте 5-хвилинне налаштування Vaultwarden (SQLite) за допомогою docker-compose.

Щоб налаштувати Vaultwarden у конфігурації на основі docker-compose та SQLite (наприклад, на CoreOS), спочатку нам потрібно створити каталог. Я рекомендую використовувати /opt/vaultwarden.

Виконайте всі наступні команди та розмістіть усі наступні файли в каталозі /opt/vaultwarden!

Спочатку ми створимо файл .env із випадковими паролями (я рекомендую використовувати pwgen 30). Використання неунікального, невипадкового пароля тут є величезним ризиком для безпеки, оскільки це дозволить отримати повний адміністративний доступ до Vaultwarden!

env_file.env
ADMIN_TOKEN=iqueingufo3LohshoohoG3tha2zou6
SIGNUPS_ALLOWED=true

Тепер розмістіть ваш docker-compose.yml:

docker-compose.yml
services:
  mariadb:
    image: mariadb:latest
    environment:
      - MYSQL_DATABASE=vaultwarden
      - MYSQL_USER=vaultwarden
      - MYSQL_PASSWORD=${MARIADB_PASSWORD}
      - MYSQL_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
      - MARIADB_AUTO_UPGRADE=1
    volumes:
      - ./mariadb_data:/var/lib/mysql
    command: --default-storage-engine innodb
    restart: unless-stopped
    healthcheck:
      test: mysqladmin -p${MARIADB_ROOT_PASSWORD} ping -h localhost
      interval: 20s
      start_period: 10s
      timeout: 10s
      retries: 3

  vaultwarden:
    image: vaultwarden/server:latest
    depends_on:
      - mariadb
    environment:
      - ADMIN_TOKEN=${ADMIN_TOKEN}
      - DATABASE_URL=mysql://vaultwarden:${MARIADB_PASSWORD}@mariadb/vaultwarden
      - WEBSOCKET_ENABLED=true
    volumes:
      - ./vw_data:/data
    ports:
      - 17881:80
      - 17882:3012

Далі ми створимо сервіс systemd для автозапуску docker-compose:

create_vaultwarden_service.sh
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdin

Це автоматично запустить vaultwarden.

Тепер вам потрібно налаштувати ваш зворотний проксі-сервер так, щоб він вказував на https://vaultwarden.mydomain.com. Вам потрібно використовувати https, http не працюватиме через певні обмеження браузера.

Тепер нам потрібно налаштувати vaultwarden через інтерфейс адміністратора.

Перейдіть на https://vaultwarden.mydomain.com/admin і введіть ADMIN_TOKEN з .env.

Тут потрібно налаштувати дві речі:

  • Domain Name у розділі General settings
  • Налаштування поштового сервера у розділі SMTP email settings

Після налаштування цих параметрів Vaultwarden має запуститися і працювати, і ви зможете отримати до нього доступ за адресою https://vaultwarden.mydomain.com.

Після того, як перший користувач буде налаштований і перевірений, ви можете зняти прапорець Allow new signups у General settings в інтерфейсі адміністратора. Це рекомендується, оскільки інакше будь-хто, хто зможе вгадати ваше доменне ім’я, зможе створити обліковий запис Vaultwarden.


Дивіться схожі статті за категоріями: Container Docker