Merge branch 'vaultwarden-instructions' into 'master'

Add setup instructions for vaultwarden

See merge request jonasled/website!7
This commit is contained in:
Jonas Leder 2022-01-29 21:34:36 +01:00
commit a108682032
4 changed files with 91 additions and 1 deletions

View file

@ -0,0 +1,8 @@
class InlineCode extends HTMLElement {
constructor() {
super();
this.innerHTML = "<code class=\"language-text\">" + this.innerHTML + "</code>";
}
}
customElements.define("jl-code", InlineCode);

View file

@ -19,4 +19,5 @@ require("./customElements/footer");
require("./customElements/ebkBanner");
require("./customElements/sellingTable");
require("./customElements/skills");
require("./customElements/pwgen");
require("./customElements/pwgen");
require("./customElements/inline-code");

View file

@ -102,6 +102,11 @@
"name": "Traefik 2 Reverse Proxy",
"url": "/anleitungen/traefik.html",
"type": "link"
},
{
"name": "Vaultwarden Passwort Manager",
"url": "/anleitungen/vaultwarden.html",
"type": "link"
}
]
},

View file

@ -0,0 +1,76 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="/css/style.css" rel="stylesheet">
<title></title>
</head>
<body>
<jl-header data-title="Vaultwarden Passwortmanager"></jl-header>
<div id="content">
<p>
Vaultwarden ist ein Passwort Manager, welcher das Frontend und die Anwendungen von Bitwarden unterstützt,
aber durch die Implementation in Rust schneller und Resourcensparender als der originale Server ist.
Zusätzlich bietet Vaultwarden alle Premium Features kostenlos. Für die Installation setze ich Vorraus, dass
auf dem System bereits ein Reverse Proxy wie <a href="traefik.html">Traefik 2</a> existiert und Docker mit
Docker Compose installiert ist.
</p>
<p>
Als erstes muss ein neuer Ordner auf dem Host erstellt werden. In diesem muss als erstes eine <jl-code>
docker-compose.yml</jl-code> Datei mit dem Inhalt unten erstellt werden.
<pre>
<code class="language-yaml">version: "3.2"
services:
bitwarden:
image: vaultwarden/server:latest
restart: always
ports:
- 8080:80
- 3012:3012
environment:
- ADMIN_TOKEN=
- DOMAIN=https://bitwarden.jonasled-test.xyz
- WEBSOCKET_ENABLED=true
volumes:
- ./data:/data</code>
</pre>
In der Datei muss noch der <jl-code>ADMIN_TOKEN</jl-code> auf ein sicheres Passwort aus einem <a
href="/passwordgen.html">Passwortgenerator</a> ersetzt werden. Dieses Password wird benötigt um die Admin
Oberfläsche zu erreichen. Da über die Oberfläche auch zum Beispiel Nutzerkonten gelöscht werden können sollte es
wirklich sehr sicher sein. Zusätzlich muss auch der URL angegeben werden, über den der Passwortmanager später
von außen erreichbar ist.
</p>
<p>
Als nächstes muss der Reverse Proxy eingerichtet werden. Dazu muss Port 8080 als root Pfad (also /) und auf
<jl-code>/notifications/hub</jl-code> port 3012 freigegeben werden. Traefik Nutzer können die Docker Compose
welche <a href="https://gitlab.jonasled.de/-/snippets/8">hier</a> zu finden ist anstelle der obigen
verwenden und dort die Hosts anpassen.
</p>
<p>
Nachdem nun die Konfiguration abgeschlossen ist kann der Container mit dem Befehl <jl-code>docker-compose up
</jl-code> das erste mal gestartet werden. Wenn der Container läuft und alles funktioniert kann der
Container wieder mit strg und c gestoppt werden und danach mit <jl-code>docker-compose up -d</jl-code> im
Hintergrund gestartet werden.
</p>
<p>
Als erstes sollte das Admin Interface aufgerufen werden und ein SMTP Server für den E-Mail versand
eingestellt werden. Um das Interface zu erreichen muss an den URL <jl-code>/admin</jl-code> angehängt und
dass Passwort aus der <jl-code>docker-compose.yml</jl-code> angegeben werden.
</p>
<p>
Nun sollte die Konfiguration vom Bitwarden / Vaultwarden abgeschlossen sein. Wenn man jetzt die URL aufruft
kann man einen neuen Account anlegen. Im Client muss man zuerst in die Einstellungen gehen und dann dort den
URL zum Server angeben. Ganz wichtig ist hierbei das vorgestellte HTTPS. Anschließend funktioniert der Login
auf der Startseite mit dem gleichen Benutzer, wie auch im Webclient.
</p>
<img src="/API/getFile.php?filename=img/bitwarden_browser_1.jpg">
<img src="/API/getFile.php?filename=img/bitwarden_browser_2.jpg">
</div>
<jl-footer></jl-footer>
<script src="/js/script.js"></script>
</body>
</html>