Configuración simple de 5 minutos de MySQL Vaultwarden usando docker-compose

Nota: Recomiendo usar siempre MySQL para prepararse para escalado futuro. En caso de que realmente quieras usar SQLite, ver Configuración simple de 5 minutos de Vaultwarden (SQLite) usando docker-compose.

Para configurar Vaultwarden en una configuración basada en docker-compose & SQLite (p. ej. en CoreOS), primero necesitamos crear un directorio. Recomiendo usar /opt/vaultwarden.

Ejecuta todos los siguientes comandos y coloca todos los siguientes archivos en el directorio /opt/vaultwarden!

Primero, crearemos un archivo .env con contraseñas aleatorias (recomiendo usar pwgen 30). No usar una contraseña única y aleatoria aquí es un gran riesgo de seguridad ya que permitirá acceso admin completo a Vaultwarden!

env_file.env
ADMIN_TOKEN=iqueingufo3LohshoohoG3tha2zou6
SIGNUPS_ALLOWED=true

Ahora coloca tu 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

Luego, crearemos un systemd service para autostart docker-compose:

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

Esto iniciará automáticamente vaultwarden.

Ahora necesitas configurar tu reverse proxy server para apuntar a https://vaultwarden.mydomain.com . Necesitas usar https, http no funcionará debido a algunas limitaciones del navegador.

Ahora necesitamos configurar vaultwarden usando la interfaz de administración.

Ve a https://vaultwarden.mydomain.com/admin e ingresa el ADMIN_TOKEN de .env.

Hay dos cosas que necesitas configurar aquí:

  • El Nombre de dominio bajo Configuración general
  • Los email server settings bajo Configuración de correo SMTP

Con estos ajustes configurados, Vaultwarden debería estar funcionando y puedes acceder usando https://vaultwarden.mydomain.com .

Después de que el primer usuario haya sido configurado y testeado, puedes desmarcar Permitir nuevos registros en Configuración general en la interfaz de administración. Esto es recomendado ya que cualquiera que pueda adivinar tu nombre de dominio sería capaz de crear una cuenta de Vaultwarden de lo contrario.


Echa un vistazo a artículos similares por categoría: Contenedores Docker