Einfaches 5-Minuten-MySQL-Vaultwarden-Setup mit docker-compose

English Deutsch

Hinweis: Ich empfehle, immer MySQL zu verwenden, um sich auf zukünftige Skalierung vorzubereiten. Falls Sie wirklich SQLite verwenden möchten, siehe Simple 5-minute Vaultwarden (SQLite) setup using docker-compose.

Um Vaultwarden in einer docker-compose- & SQLite-basierten Konfiguration einzurichten (z. B. auf CoreOS), müssen wir zuerst ein Verzeichnis erstellen. Ich empfehle, /opt/vaultwarden zu verwenden.

Führen Sie alle folgenden Befehle aus und platzieren Sie alle folgenden Dateien im /opt/vaultwarden-Verzeichnis!

Zuerst erstellen wir eine .env-Datei mit zufälligen Passwörtern (ich empfehle, pwgen 30 zu verwenden). Die Verwendung eines nicht-eindeutigen, zufälligen Passworts ist ein großes Sicherheitsrisiko, da es vollen Admin-Zugriff auf Vaultwarden erlaubt!

env_file.env
ADMIN_TOKEN=iqueingufo3LohshoohoG3tha2zou6
SIGNUPS_ALLOWED=true

Platzieren Sie nun Ihre 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

Als Nächstes erstellen wir einen systemd-Service für den Autostart von docker-compose:

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

Dies wird vaultwarden automatisch starten.

Nun müssen Sie Ihren Reverse-Proxy-Server konfigurieren, um auf https://vaultwarden.mydomain.com zu zeigen. Sie müssen https verwenden, http funktioniert aufgrund einiger Browser-Beschränkungen nicht.

Nun müssen wir vaultwarden über das Admin-Interface konfigurieren.

Gehen Sie zu https://vaultwarden.mydomain.com/admin und geben Sie den ADMIN_TOKEN aus .env ein.

Es gibt zwei Dinge, die Sie hier konfigurieren müssen:

Mit diesen Einstellungen konfiguriert, sollte Vaultwarden laufen und Sie können über https://vaultwarden.mydomain.com darauf zugreifen.

Nachdem der erste Benutzer eingerichtet und getestet wurde, können Sie Allow new signups in General settings im Admin-Interface deaktivieren. Dies wird empfohlen, da sonst jeder, der Ihren Domainnamen erraten kann, ein Vaultwarden-Konto erstellen könnte.


Check out similar posts by category: Container, Docker