Configuração simples de 5 minutos do Vaultwarden MySQL usando docker-compose

Nota: Eu recomendo sempre usar MySQL para se preparar para escalabilidade futura. Caso você realmente queira usar SQLite, veja Configuração simples de 5 minutos do Vaultwarden (SQLite) usando docker-compose.

Para configurar o Vaultwarden em uma configuração baseada em docker-compose & SQLite (ex., no CoreOS), primeiro precisamos criar um diretório. Eu recomendo usar /opt/vaultwarden.

Execute todos os comandos a seguir e coloque todos os arquivos a seguir no diretório /opt/vaultwarden!

Primeiro, criaremos um arquivo .env com senhas aleatórias (eu recomendo usar pwgen 30). Não usar uma senha única e aleatória aqui é um grande risco de segurança, pois permitirá acesso administrativo total ao Vaultwarden!

env_file.env
ADMIN_TOKEN=iqueingufo3LohshoohoG3tha2zou6
SIGNUPS_ALLOWED=true

Agora coloque seu 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

A seguir, vamos criar um serviço systemd para iniciar automaticamente o docker-compose:

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

Isso iniciará automaticamente o vaultwarden.

Agora você precisa configurar seu servidor proxy reverso para apontar https://vaultwarden.mydomain.com. Você precisa usar https, http não funcionará devido a algumas limitações do navegador.

Agora precisamos configurar o vaultwarden usando a interface de administrador.

Vá para https://vaultwarden.mydomain.com/admin e insira o ADMIN_TOKEN do .env.

Há duas coisas que você precisa configurar aqui:

  • O Nome de Domínio em General settings
  • As configurações do servidor de email em SMTP email settings

Com essas configurações definidas, o Vaultwarden deve estar funcionando e você pode acessá-lo usando https://vaultwarden.mydomain.com.

Após o primeiro usuário ser configurado e testado, você pode desmarcar Allow new signups em General settings na interface de administrador. Isso é recomendado, pois caso contrário, qualquer pessoa que consiga adivinhar seu nome de domínio seria capaz de criar uma conta Vaultwarden.


Check out similar posts by category: Container Docker