Bencher Selbstgehostet
Bencher ist Open Source. Es ist verfügbar als SaaS, Bencher Cloud, und als selbst hostbares Set von Container-Images:
- Bencher Console Server
- Bencher API Server
Bereitstellung
Der einfachste Weg, Bencher Self-Hosted bereitzustellen, ist die Verwendung eines Triptychons von bencher
CLI-Subkommandos:
bencher up
: Starten Sie die Bencher Self-Hosted Container. Dies ist ähnlich wie bei der Ausführung vondocker compose up
.bencher logs
: Anzeigen der Ausgabe der Bencher Self-Hosted Container, fallsbencher up
mit dem--detach
-Flag ausgeführt wurde. Dies ist ähnlich wie bei der Ausführung vondocker compose logs
.bencher down
: Stoppen und Entfernen der Bencher Self-Hosted Container, fallsbencher up
mit dem--detach
-Flag ausgeführt wurde. Dies ist ähnlich wie bei der Ausführung vondocker compose down
.
bencher up
Erstellen und starten Sie die Bencher Self-Hosted-Container.
Dies ist ähnlich wie das Ausführen von docker compose up
.
Service
Wählen Sie die Container aus, die ausgeführt werden sollen.
Die möglichen Optionen sind: all
, api
und console
.
Standardmäßig ist all
ausgewählt.
Ähnlich dem SERVICE
-Argument für docker compose up
.
Optionen
--detach
Im getrennten Modus ausführen.
Die Container werden im Hintergrund ausgeführt.
Ähnlich wie das --detach
Flag für docker compose up
.
--pull <WHEN>
Zieht Images, bevor sie ausgeführt werden.
Die möglichen Optionen sind: always
, missing
und never
.
Standardmäßig ist always
ausgewählt.
Ähnlich zur --pull
Option für docker compose up
.
--tag <TAG>
Geben Sie das Image-Tag für die Container an.
Standardmäßig entspricht das Image-Tag der bencher
CLI-Version.
Die neueste bencher
CLI-Version ist v0.4.27
.
--console-port <PORT>
Geben Sie eine Portnummer für den Console-Servercontainer an.
Standardmäßig wird Port 3000
verwendet.
Ähnlich wie das Port-Only-Format der Option --expose
für docker run
.
--api-port <PORT>
Geben Sie eine Portnummer für den API-Server-Container an. Standardmäßig wird der Port 61016
verwendet. Ähnlich zur Port-only-Form der --expose
-Option für docker run
.
--console-env <KEY_VALUE>
Übergebe eine Umgebungsvariable an den Console-Server-Container.
Das erwartete Format ist KEY=Wert
.
Dies kann nützlich sein, wenn man mit der Console Server-Konfiguration arbeitet.
Ähnlich wie die Option --env
für docker run
.
--api-env <KEY_VALUE>
Eine Umgebungsvariable an den API-Server-Container übergeben.
Das erwartete Format ist SCHLÜSSEL=Wert
.
Dies kann nützlich sein, wenn Sie mit der API-Server-Konfiguration arbeiten. Ähnlich wie die die --env
-Option für docker run
.
--console-volume <HOST_CONTAINER>
Übergeben Sie ein Mount-Volume an den Console-Server-Container.
Das erwartete Format ist /host/path:/container/path
.
Dies kann nützlich sein, wenn Sie mit der Console Server-Konfiguration arbeiten.
Ähnlich zur Option --volume
für docker run
.
--api-volume <HOST_CONTAINER>
Ein Volume-Mount an den API-Server-Container übergeben.
Das erwartete Format ist /host/path:/container/path
.
Dies kann nützlich sein, wenn Sie mit der API-Server-Konfiguration arbeiten.
Ähnlich wie die Option --volume
bei docker run
.
--help
Hilfe drucken.
bencher logs
Zeigen Sie die Ausgabe von den Bencher Self-Hosted Containern an,
wenn bencher up
mit dem --detach
-Flag ausgeführt wurde.
Dies ist ähnlich dem Ausführen von docker compose logs
.
Dienst
Wählen Sie die zu startenden Container aus.
Die möglichen Optionen sind: all
, api
und console
.
Standardmäßig ist all
ausgewählt.
Ähnlich dem SERVICE
-Argument für docker compose logs
.
Optionen
--help
Hilfe drucken.
bencher down
Stoppen und entfernen der Bencher Self-Hosted Container,
wenn bencher up
mit dem --detach
-Flag ausgeführt wurde.
Dies ist ähnlich wie das Ausführen von docker compose down
.
Service
Wählen Sie die Container, die ausgeführt werden sollen.
Die möglichen Optionen sind: all
, api
und console
.
Standardmäßig ist all
ausgewählt.
Ähnlich dem SERVICE
Argument für docker compose down
.
Optionen
--help
Hilfe drucken.
Alternativ können Sie einfach docker compose
verwenden, um die Container zu orchestrieren. Dies ist eine Beispiel-docker-compose.yml
-Datei:
HTTPS
Um HTTPS einzurichten, kann Bencher Self-Hosted hinter einem Proxy mit aktiviertem HTTPS verwendet werden oder ein Domainname mit einem gültigen SSL-Zertifikat genutzt werden.
Host-URL
Wenn Sie Bencher Self-Hosted verwenden,
müssen Sie die Option --host
auf die URL Ihres Bencher-API-Servers für die meisten bencher
-CLI-Unterbefehle setzen.
Zum Beispiel, wenn Sie den bencher run
CLI-Unterbefehl
mit einem Bencher-API-Server unter https://api.bencher.example.com
verwenden,
könnten Sie etwas Folgendes schreiben:
Sicherungen
Der einfachste Weg, Ihren Bencher Self-Hosted API-Server zu sichern, ist die Verwendung des
bencher server backup
CLI-Unterbefehls.
Der Benutzer muss ein Administrator auf dem Server sein, um diesen Unterbefehl zu verwenden.
bencher server backup
Sichern Sie die Datenbank des API-Servers.
Optionen
--host <URL>
Die URL des selbstgehosteten Bencher API-Servers.
Zum Beispiel, https://api.bencher.example.com
.
--token <TOKEN>
Entweder muss die Option --token
oder die Umgebungsvariable BENCHER_API_TOKEN
auf einen gültigen API-Token gesetzt werden.
Wenn beide angegeben sind, hat die Option --token
Vorrang vor der Umgebungsvariable BENCHER_API_TOKEN
.
--compress
Komprimieren Sie das Datenbank-Backup mit gzip
.
Dieser Vorgang wird zuerst ausgeführt.
--data-store <DATA_STORE>
Speichern Sie das Datenbank-Backup in diesem Datenspeicher. Dieser Vorgang wird als zweites ausgeführt.
Unterstützte Datenspeicher:
aws_s3
: Backup zu AWS S3
Verwenden Sie den Abschnitt „database.data_store“ der API-Server-Konfiguration, um den Datenspeicher für Ihren Bencher Self-Hosted API-Server einzurichten.
--remove
Entfernen Sie die lokale Kopie der Datenbanksicherung. Dieser Vorgang läuft als dritter.
Notfallwiederherstellung
Um Datenverlust zwischen den Backups zu verhindern, bietet Bencher eine integrierte Notfallwiederherstellungslösung. Diese Funktion erfordert eine aktive Bencher Plus Lizenz.
Unterstützte Replikationsschemata:
file
: Replizieren zu einem lokalen Dateipfadsftp
: Replizieren über SFTPs3
: Replizieren zu einem S3-kompatiblen Blob-Speicherabs
: Replizieren zu Azure Blob Storagegcs
: Replizieren zu Google Cloud Storage
Verwenden Sie den Abschnitt plus.disaster_recovery
der API-Serverkonfiguration, um die Notfallwiederherstellung für Ihren Bencher Self-Hosted API-Server einzurichten.