Bencher Autoalojado
Bencher es código abierto. Está disponible como un SaaS, Bencher Cloud, y como un conjunto de imágenes de contenedor autoalojables:
- Servidor de Consola de Bencher
- Servidor API de Bencher
Despliegue
La manera más fácil de desplegar Bencher Self-Hosted es utilizando un tríptico de subcomandos bencher
CLI:
bencher up
: Levanta los contenedores de Bencher Self-Hosted. Esto es similar a ejecutardocker compose up
.bencher logs
: Muestra la salida de los contenedores de Bencher Self-Hosted, sibencher up
se ejecutó con la bandera--detach
. Esto es similar a ejecutardocker compose logs
.bencher down
: Detiene y elimina los contenedores de Bencher Self-Hosted, sibencher up
se ejecutó con la bandera--detach
. Esto es similar a ejecutardocker compose down
.
bencher up
Crea e inicia los contenedores autoalojados de Bencher.
Esto es similar a ejecutar docker compose up
.
Servicio
Seleccione los contenedores para ejecutar.
Las opciones posibles son: all
, api
y console
.
Por defecto se elige all
.
Similar al argumento SERVICE
para docker compose up
.
Opciones
--detach
Ejecutar en modo separado.
Los contenedores se ejecutarán en segundo plano.
Similar a la opción --detach
para docker compose up
.
--pull <WHEN>
Extraer imágenes antes de ejecutar. Las opciones posibles son: always
, missing
y never
. Por defecto, se elige always
. Similar a la opción --pull
para docker compose up
.
--tag <TAG>
Especifica la etiqueta de imagen para los contenedores.
Por defecto, la etiqueta de imagen coincide con la versión de la CLI de bencher
.
La versión más reciente de la CLI de bencher
es v0.4.27
.
--console-port <PORT>
Especifica un número de puerto para el contenedor del servidor de la Consola.
Por defecto, se utiliza el puerto 3000
.
Similar a la forma solo puerto de la opción --expose
para docker run
.
--api-port <PORT>
Especifica un número de puerto para el contenedor del servidor API.
Por defecto, se utiliza el puerto 61016
.
Similar a la forma solo de puerto de la opción --expose
para docker run
.
--console-env <KEY_VALUE>
Pasa una variable de entorno al contenedor del servidor de la Consola.
El formato esperado es LLAVE=valor
.
Esto puede ser útil cuando se trabaja con la configuración del Servidor de Consola.
Similar a la opción --env
para docker run
.
--api-env <KEY_VALUE>
Pasa una variable de entorno al contenedor del servidor API.
El formato esperado es KEY=value
.
Esto puede ser útil cuando se trabaja con la configuración del servidor API.
Similar a la opción --env
para docker run
.
--console-volume <HOST_CONTAINER>
Pasa un volumen de montaje al contenedor del servidor de consola.
El formato esperado es /host/path:/container/path
.
Esto puede ser útil al trabajar con la configuración del Servidor de Consola.
Similar a la opción --volume
para docker run
.
--api-volume <HOST_CONTAINER>
Pasa un volumen de montaje al contenedor del servidor de la API.
El formato esperado es /host/path:/container/path
.
Esto puede ser útil al trabajar con la configuración del servidor de API.
Similar a la opción --volume
para docker run
.
--help
Imprimir ayuda.
bencher logs
Vea la salida de los contenedores autoalojados de Bencher,
si bencher up
se ejecutó con el indicador --detach
.
Esto es similar a ejecutar docker compose logs
.
Servicio
Seleccione los contenedores a ejecutar. Las opciones posibles son: all
, api
y console
. Por defecto, se elige all
. Similar al argumento SERVICE
para docker compose logs
.
Opciones
--help
Imprimir ayuda.
bencher down
Detener y eliminar los contenedores de Bencher Self-Hosted,
si bencher up
se ejecutó con la opción --detach
.
Esto es similar a ejecutar docker compose down
.
Servicio
Seleccione los contenedores para ejecutar. Las opciones posibles son: all
, api
y console
. Por defecto se elige all
. Similar al argumento SERVICE
para docker compose down
.
Opciones
--help
Imprimir ayuda.
Alternativamente, puedes simplemente usar docker compose
para orquestar los contenedores.
Este es un ejemplo de archivo docker-compose.yml
:
HTTPS
Para configurar HTTPS, puede usar Bencher Self-Hosted detrás de un proxy con HTTPS habilitado o utilizar un nombre de dominio con un certificado SSL válido.
URL del Host
Cuando utilices Bencher Self-Hosted,
necesitarás establecer la opción --host
al URL de tu servidor API de Bencher
para la mayoría de los subcomandos de la CLI de bencher
.
Por ejemplo, si estuvieras usando el subcomando de la CLI bencher run
con un servidor API de Bencher en https://api.bencher.example.com
entonces podrías escribir algo como esto:
Copias de seguridad
La manera más sencilla de hacer una copia de seguridad de tu servidor API de Bencher autoalojado es usando
el subcomando de línea de comandos bencher server backup
.
El usuario debe ser un administrador en el servidor para usar este subcomando.
bencher server backup
Realiza una copia de seguridad de la base de datos del servidor API.
Opciones
--host <URL>
La URL del servidor API de Bencher Self-Hosted.
Por ejemplo, https://api.bencher.example.com
.
--token <TOKEN>
O bien la opción --token
o la variable de entorno BENCHER_API_TOKEN
debe configurarse con un token de API válido. Si se especifican ambos, la opción --token
tiene prioridad sobre la variable de entorno BENCHER_API_TOKEN
.
--compress
Comprime la copia de seguridad de la base de datos con gzip
.
Esta operación se ejecuta primero.
--data-store <DATA_STORE>
Guarde la copia de seguridad de la base de datos en este almacén de datos. Esta operación se ejecuta en segundo lugar.
Almacenes de datos compatibles:
aws_s3
: Copia de seguridad en AWS S3
Utilice la sección database.data_store
de la configuración del servidor API
para configurar el almacén de datos para su servidor API Bencher Self-Hosted.
--remove
Elimina la copia local de la copia de seguridad de la base de datos. Esta operación se ejecuta en tercer lugar.
Recuperación ante Desastres
Para prevenir la pérdida de datos entre copias de seguridad, Bencher ofrece una solución de recuperación ante desastres integrada. Esta función requiere una licencia activa de Bencher Plus.
Esquemas de replicación soportados:
file
: Replicar a una ruta de archivo localsftp
: Replicar por SFTPs3
: Replicar a cualquier almacenamiento de blobs compatible con S3abs
: Replicar a Azure Blob Storagegcs
: Replicar a Google Cloud Storage
Utilice la sección plus.disaster_recovery
de la configuración del servidor API
para configurar la recuperación ante desastres en su servidor API autogestionado de Bencher.