Bencher Autônomo
Bencher é código aberto. Está disponível como SaaS, Bencher Cloud, e como um conjunto auto-hospedável de imagens de contêiner:
- Servidor Bencher Console
- Servidor Bencher API
Deployment
A maneira mais fácil de implantar o Bencher Self-Hosted é utilizando um tríptico de subcomandos da CLI bencher
:
bencher up
: Inicia os contêineres do Bencher Self-Hosted. Isso é semelhante a executardocker compose up
.bencher logs
: Exibir a saída dos contêineres do Bencher Self-Hosted, sebencher up
foi executado com a flag--detach
. Isso é semelhante a executardocker compose logs
.bencher down
: Parar e remover os contêineres do Bencher Self-Hosted, sebencher up
foi executado com a flag--detach
. Isso é semelhante a executardocker compose down
.
bencher up
Crie e inicie os contêineres Bencher Self-Hosted.
Isso é semelhante a executar docker compose up
.
Serviço
Selecione os contêineres para executar.
As opções possíveis são: all
, api
e console
.
Por padrão, all
é escolhido.
Semelhante ao argumento SERVICE
para docker compose up
.
Opções
--detach
Execute em modo destacado.
Os contêineres serão executados em segundo plano.
Semelhante à flag --detach
para docker compose up
.
--pull <WHEN>
Puxa as imagens antes de executar.
As opções possíveis são: always
, missing
e never
.
Por padrão, always
é escolhido.
Semelhante à opção --pull
para docker compose up
.
--tag <TAG>
Especifique a tag da imagem para os containers. Por padrão, a tag da imagem corresponde à versão do CLI bencher
. A versão mais recente do CLI bencher
é v0.4.30
.
--console-port <PORT>
Especifique um número de porta para o container do servidor do Console.
Por padrão, a porta 3000
é utilizada.
Semelhante à forma apenas de porta da opção --expose
para o docker run
.
--api-port <PORT>
Especifique um número de porta para o contêiner do servidor API.
Por padrão, a porta 61016
é usada.
Semelhante à forma apenas de porta da opção --expose
para docker run
.
--console-env <KEY_VALUE>
Passe uma variável de ambiente para o contêiner do servidor Console.
O formato esperado é KEY=value
.
Isso pode ser útil ao trabalhar com a configuração do Servidor Console.
Semelhante à opção --env
para docker run
.
--api-env <KEY_VALUE>
Passe uma variável de ambiente para o contêiner do servidor de API.
O formato esperado é KEY=value
.
Isso pode ser útil ao trabalhar com a configuração do Servidor de API.
Semelhante à opção --env
para docker run
.
--console-volume <HOST_CONTAINER>
Passe um volume de montagem para o contêiner do servidor Console.
O formato esperado é /host/path:/container/path
.
Isso pode ser útil ao trabalhar com a configuração do Servidor Console.
Semelhante à opção --volume
para docker run
.
--api-volume <HOST_CONTAINER>
Transfira um volume de montagem para o contêiner do servidor API.
O formato esperado é /host/path:/container/path
.
Isso pode ser útil ao trabalhar com a configuração do Servidor API.
Semelhante à opção --volume
para docker run
.
--help
Imprimir ajuda.
bencher logs
Visualize a saída dos contêineres do Bencher Self-Hosted,
se bencher up
foi executado com a flag --detach
.
Isso é semelhante a executar docker compose logs
.
Serviço
Selecione os contêineres para executar.
As opções possíveis são: all
, api
e console
.
Por padrão, all
é escolhido.
Semelhante ao argumento SERVICE
para docker compose logs
.
Opções
--help
Imprimir ajuda.
bencher down
Pare e remova os contêineres do Bencher Self-Hosted,
se bencher up
foi executado com a flag --detach
.
Isso é semelhante a executar docker compose down
.
Serviço
Selecione os contêineres para executar.
As opções possíveis são: all
, api
e console
.
Por padrão, all
é escolhido.
Semelhante ao argumento SERVICE
para docker compose down
.
Opções
--help
Imprimir ajuda.
Alternativamente, você pode apenas usar o docker compose
para orquestrar os contêineres.
Este é um exemplo de arquivo docker-compose.yml
:
HTTPS
Para configurar o HTTPS, você pode usar o Bencher Self-Hosted atrás de um proxy com HTTPS habilitado ou utilizar um nome de domínio com um certificado SSL válido.
URL do Host
Ao usar o Bencher Self-Hosted,
você precisará definir a opção --host
para a URL do seu servidor API do Bencher
na maioria dos subcomandos do CLI bencher
.
Por exemplo, se você estivesse usando o subcomando CLI bencher run
com um servidor API do Bencher em https://api.bencher.example.com
você poderia escrever algo assim:
Backups
A forma mais fácil de fazer backup do seu servidor de API auto-hospedado do Bencher é usando
o subcomando CLI bencher server backup
.
O usuário deve ser um administrador no servidor para usar esse subcomando.
bencher server backup
Backup do banco de dados do servidor da API.
Opções
--host <URL>
A URL do servidor de API auto-hospedado do Bencher.
Por exemplo, https://api.bencher.exemplo.com
.
--token <TOKEN>
Ou a opção --token
ou a variável de ambiente BENCHER_API_TOKEN
deve ser configurada com um token de API válido. Se ambos forem especificados, a opção --token
tem precedência sobre a variável de ambiente BENCHER_API_TOKEN
.
--compress
Comprime o backup do banco de dados com gzip
.
Esta operação é executada primeiro.
--data-store <DATA_STORE>
Salve o backup do banco de dados neste data store. Esta operação é executada em segundo lugar.
Data stores suportados:
aws_s3
: Backup para AWS S3
Use a seção database.data_store
da configuração do servidor API
para configurar o data store para o seu servidor API auto-hospedado do Bencher.
--remove
Remova a cópia local do backup do banco de dados. Esta operação é executada em terceiro lugar.
Recuperação de Desastres
Para evitar a perda de dados entre os backups, o Bencher oferece uma solução de recuperação de desastres integrada. Esta funcionalidade requer uma licença ativa do Bencher Plus.
Esquemas de replicação suportados:
file
: Replicar para um caminho de arquivo localsftp
: Replicar via SFTPs3
: Replicar para qualquer armazenamento de blob compatível com S3abs
: Replicar para o Azure Blob Storagegcs
: Replicar para o Google Cloud Storage
Use a seção plus.disaster_recovery
da configuração do servidor API
para configurar a recuperação de desastres para o seu servidor API Bencher Self-Hosted.