Bencher Autohébergé
Bencher est open source. Il est disponible en tant que SaaS, Bencher Cloud, et comme un ensemble d’images de conteneurs auto-hébergeables :
- Serveur Console Bencher
- Serveur API Bencher
Déploiement
Le moyen le plus simple de déployer Bencher Self-Hosted est d’utiliser un triptyque de sous-commandes CLI bencher
:
bencher up
: Démarre les conteneurs Bencher Self-Hosted. Cela ressemble à l’exécution dedocker compose up
.bencher logs
: Affiche la sortie des conteneurs Bencher Self-Hosted, sibencher up
a été exécuté avec le drapeau--detach
. Cela ressemble à l’exécution dedocker compose logs
.bencher down
: Arrête et supprime les conteneurs Bencher Self-Hosted, sibencher up
a été exécuté avec le drapeau--detach
. Cela ressemble à l’exécution dedocker compose down
.
bencher up
Créer et démarrer les conteneurs Bencher en auto-hébergement.
Ceci est similaire à l’exécution de docker compose up
.
Service
Sélectionnez les conteneurs à exécuter.
Les choix possibles sont : all
, api
, et console
.
Par défaut, all
est choisi.
Semblable à l’argument SERVICE
pour docker compose up
.
Options
--detach
Exécuter en mode détaché.
Les conteneurs seront exécutés en arrière-plan.
Similaire au drapeau --detach
pour docker compose up
.
--pull <WHEN>
Tirez les images avant de les exécuter. Les choix possibles sont : always
, missing
, et never
. Par défaut, always
est choisi. Semblable à l’option --pull
pour docker compose up
.
--tag <TAG>
Spécifiez le tag de l’image pour les conteneurs. Par défaut, le tag de l’image correspond à la version du CLI bencher
. La version la plus récente du CLI bencher
est v0.4.30
.
--console-port <PORT>
Spécifiez un numéro de port pour le conteneur du serveur Console.
Par défaut, le port 3000
est utilisé.
Semblable à la forme uniquement port de l’option --expose
pour docker run
.
--api-port <PORT>
Spécifiez un numéro de port pour le conteneur du serveur API.
Par défaut, le port 61016
est utilisé.
Similaire à la forme de port uniquement de l’option --expose
pour docker run
.
--console-env <KEY_VALUE>
Passez une variable d’environnement au conteneur du serveur Console.
Le format attendu est KEY=value
.
Cela peut être utile lors de la configuration du serveur Console.
Similaire à l’option --env
pour docker run
.
--api-env <KEY_VALUE>
Passez une variable d’environnement au conteneur du serveur API. Le format attendu est KEY=value
. Cela peut être utile lors de l’utilisation de la configuration du serveur API. Similaire à l’option --env
pour docker run
.
--console-volume <HOST_CONTAINER>
Passez un volume de montage au conteneur du serveur Console.
Le format attendu est /host/path:/container/path
.
Cela peut être utile lors du travail avec la configuration du serveur Console.
Similaire à l’option --volume
pour docker run
.
--api-volume <HOST_CONTAINER>
Passez un volume de montage au conteneur du serveur API.
Le format attendu est /host/path:/container/path
.
Cela peut être utile lors de l’utilisation de la configuration du serveur API.
Similaire à l’option --volume
pour docker run
.
--help
Imprimer l’aide.
bencher logs
Afficher la sortie des conteneurs Bencher en auto-hébergement,
si bencher up
a été exécuté avec le drapeau --detach
.
Ceci est similaire à l’exécution de docker compose logs
.
Service
Sélectionnez les conteneurs à exécuter.
Les choix possibles sont : all
, api
et console
.
Par défaut, all
est choisi.
Similaire à l’argument SERVICE
pour docker compose logs
.
Options
--help
Imprimer l’aide.
bencher down
Arrêter et supprimer les conteneurs Bencher Self-Hosted,
si bencher up
a été exécuté avec l’option --detach
.
Ceci est similaire à l’exécution de docker compose down
.
Service
Sélectionnez les conteneurs à exécuter.
Les choix possibles sont : all
, api
, et console
.
Par défaut, all
est choisi.
Similaire à l’argument SERVICE
pour docker compose down
.
Options
--help
Imprimer l’aide.
Alternativement, vous pouvez simplement utiliser docker compose
pour orchestrer les conteneurs.
Voici un exemple de fichier docker-compose.yml
:
HTTPS
Pour configurer HTTPS, vous pouvez utiliser Bencher Self-Hosted derrière un proxy avec HTTPS activé ou utiliser un nom de domaine avec un certificat SSL valide.
URL de l’hôte
Lorsque vous utilisez Bencher en auto-hébergement,
vous devrez définir l’option --host
à l’URL de votre serveur API Bencher
pour la plupart des sous-commandes CLI bencher
.
Par exemple, si vous utilisiez la sous-commande CLI bencher run
avec un serveur API Bencher à https://api.bencher.example.com
alors vous pourriez écrire quelque chose comme ceci :
Sauvegardes
Le moyen le plus simple de sauvegarder votre serveur API Bencher Self-Hosted est d’utiliser
la sous-commande CLI bencher server backup
.
L’utilisateur doit être un administrateur sur le serveur pour utiliser cette sous-commande.
bencher server backup
Sauvegarder la base de données du serveur API.
Options
--host <URL>
L’URL du serveur API auto-hébergé de Bencher.
Par exemple, https://api.bencher.example.com
.
--token <TOKEN>
Soit l’option --token
, soit la variable d’environnement BENCHER_API_TOKEN
doit être définie avec un jeton API valide. Si les deux sont spécifiés, l’option --token
prévaut sur la variable d’environnement BENCHER_API_TOKEN
.
--compress
Comprimez la sauvegarde de la base de données avec gzip
.
Cette opération s’exécute en premier.
--data-store <DATA_STORE>
Enregistrez la sauvegarde de la base de données dans ce stockage de données. Cette opération s’exécute en second.
Stockages de données pris en charge:
aws_s3
: Sauvegarde sur AWS S3
Utilisez la section database.data_store
de la configuration du serveur API pour configurer le stockage de données pour votre serveur API Bencher auto-hébergé.
--remove
Supprimez la copie locale de la sauvegarde de la base de données. Cette opération s’exécute en troisième.
Récupération après sinistre
Afin de prévenir la perte de données entre les sauvegardes, Bencher propose une solution intégrée de récupération après sinistre. Cette fonctionnalité nécessite une licence Bencher Plus active.
Schémas de réplication pris en charge :
file
: Répliquer vers un chemin de fichier localsftp
: Répliquer via SFTPs3
: Répliquer vers tout stockage d’objets compatible S3abs
: Répliquer vers Azure Blob Storagegcs
: Répliquer vers Google Cloud Storage
Utilisez la section plus.disaster_recovery
de la configuration du serveur API pour configurer la récupération après sinistre de votre serveur API Bencher Self-Hosted.