Einfaches 5-Minuten-MySQL-Vaultwarden-Setup mit docker-compose
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!
ADMIN_TOKEN=iqueingufo3LohshoohoG3tha2zou6
SIGNUPS_ALLOWED=truePlatzieren Sie nun Ihre 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:3012Als Nächstes erstellen wir einen systemd-Service für den Autostart von docker-compose:
curl -fsSL https://techoverflow.net/scripts/create-docker-compose-service.sh | sudo bash /dev/stdinDies 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:
- Den Domainnamen unter General settings
- Die E-Mail-Server-Einstellungen unter SMTP email settings
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.