Bencher 셀프 호스팅
Bencher는 오픈 소스입니다. SaaS인 Bencher Cloud와 셀프 호스팅 가능한 컨테이너 이미지 세트로 제공됩니다:
배포
Bencher Self-Hosted를 배포하는 가장 쉬운 방법은 bencher
CLI 하위 명령어의 삼중체를 사용하는 것입니다:
bencher up
: Bencher Self-Hosted 컨테이너를 시작합니다. 이는docker compose up
을 실행하는 것과 유사합니다.bencher logs
: Bencher Self-Hosted 컨테이너의 출력을 봅니다, 만약bencher up
이 the--detach
flag와 함께 실행되었다면. 이는docker compose logs
를 실행하는 것과 유사합니다.bencher down
: Bencher Self-Hosted 컨테이너를 중지하고 제거합니다, 만약bencher up
이 the--detach
flag와 함께 실행되었다면. 이는docker compose down
을 실행하는 것과 유사합니다.
bencher up
Bencher 셀프 호스티드 컨테이너를 생성하고 시작합니다.
이는 docker compose up
을 실행하는 것과 유사합니다.
서비스
실행할 컨테이너를 선택하세요.
선택 가능한 옵션은 all
, api
, console
입니다.
기본적으로 all
이 선택됩니다.
docker compose up
의 SERVICE
인수와 유사합니다.
옵션
--detach
분리 모드로 실행합니다.
컨테이너는 백그라운드에서 실행됩니다.
docker compose up
의 --detach
플래그와 유사합니다.
--pull <WHEN>
실행 전에 이미지를 당겨옵니다.
가능한 선택지는 다음과 같습니다: always
, missing
, 그리고 never
.
기본값은 always
입니다.
docker compose up
의 --pull
옵션과 유사합니다.
--tag <TAG>
컨테이너에 대한 이미지 태그를 지정합니다. 기본적으로 이미지 태그는 bencher
CLI 버전과 일치합니다. 최신 bencher
CLI 버전은 v0.4.24
입니다.
--console-port <PORT>
콘솔 서버 컨테이너에 대한 포트 번호를 지정합니다. 기본적으로 포트 3000
이 사용됩니다. docker run
의 --expose
옵션의 포트만 설정하는 형식과 유사합니다.
--api-port <PORT>
API 서버 컨테이너에 대한 포트 번호를 지정합니다. 기본적으로 포트 61016
이 사용됩니다. docker run
의 --expose
옵션의 포트 전용 형식과 유사합니다.
--console-env <KEY_VALUE>
환경 변수를 Console 서버 컨테이너에 전달합니다. 예상 형식은 KEY=value
입니다. 이는 Console Server 구성과 작업할 때 유용할 수 있습니다. docker run
의 --env
옵션과 유사합니다.
--api-env <KEY_VALUE>
API 서버 컨테이너에 환경 변수를 전달합니다.
예상되는 형식은 KEY=value
입니다.
이는 API 서버 구성 작업 시 유용할 수 있습니다.
docker run
의 the --env
option과 유사합니다.
--console-volume <HOST_CONTAINER>
Console 서버 컨테이너에 마운트 볼륨을 전달합니다.
예상 형식은 /host/path:/container/path
입니다.
이는 콘솔 서버 구성 작업 시 유용할 수 있습니다.
docker run
의 --volume
옵션과 유사합니다.
--api-volume <HOST_CONTAINER>
API 서버 컨테이너에 마운트 볼륨을 전달합니다. 예상 형식은 /host/path:/container/path
입니다. 이는 API 서버 구성 작업 시 유용할 수 있습니다. docker run
의 the --volume
option과 유사합니다.
--help
도움말 출력.
bencher logs
bencher up
이 the --detach
flag으로 실행된 경우, Bencher Self-Hosted 컨테이너의 출력을 봅니다. 이는 docker compose logs
를 실행하는 것과 유사합니다.
서비스
실행할 컨테이너를 선택합니다.
가능한 선택지는 all
, api
, 그리고 console
입니다.
기본적으로 all
이 선택됩니다.
docker compose logs
의 SERVICE
인수와 유사합니다.
옵션
--help
도움말 출력.
bencher down
Bencher Self-Hosted 컨테이너를 중지하고 제거합니다,
bencher up
이 --detach
플래그로 실행된 경우.
이는 docker compose down
을 실행하는 것과 유사합니다.
서비스
실행할 컨테이너를 선택하세요.
가능한 선택지는 all
, api
, console
입니다.
기본적으로 all
이 선택됩니다.
docker compose down
의 SERVICE
인수와 유사합니다.
옵션
--help
도움말 출력.
또는, docker compose
를 사용하여 컨테이너를 오케스트레이션할 수 있습니다.
다음은 docker-compose.yml
파일의 예시입니다:
HTTPS
HTTPS를 설정하려면 HTTPS가 활성화된 프록시 뒤에서 Bencher Self-Hosted를 사용할 수 있거나 유효한 SSL 인증서를 가진 도메인 이름을 사용할 수 있습니다.
호스트 URL
Bencher Self-Hosted를 사용할 때,
대부분의 bencher
CLI 하위 명령어에 대해
Bencher API 서버의 URL로 the --host
option을 설정해야 합니다.
예를 들어, https://api.bencher.example.com
에 있는 Bencher API 서버와 함께 bencher run
CLI 하위 명령어를 사용한다면 다음과 같이 작성할 수 있습니다:
백업
Bencher 자체 호스팅 API 서버를 백업하는 가장 쉬운 방법은 bencher server backup
CLI 하위 명령어를 사용하는 것입니다. 이 하위 명령어를 사용하려면 사용자가 서버의 관리자인지 확인해야 합니다.
bencher server backup
API 서버 데이터베이스를 백업합니다.
옵션
--host <URL>
Bencher 자체 호스팅 API 서버 URL입니다. 예를 들면, https://api.bencher.example.com
입니다.
--token <TOKEN>
--token
옵션이나 BENCHER_API_TOKEN
환경 변수가 유효한 API 토큰으로 설정되어야 합니다.
둘 다 지정된 경우, --token
옵션이 BENCHER_API_TOKEN
환경 변수보다 우선합니다.
--compress
데이터베이스 백업을 gzip
으로 압축합니다. 이 작업은 가장 먼저 수행됩니다.
--data-store <DATA_STORE>
데이터베이스 백업을 이 데이터 스토어에 저장합니다. 이 작업은 두 번째로 실행됩니다.
지원되는 데이터 스토어:
aws_s3
: AWS S3로 백업
Bencher 자체 호스팅 API 서버의 데이터 스토어를 설정하려면 API 서버 구성의 database.data_store
섹션을 사용하세요.
--remove
로컬 데이터베이스 백업 복사본을 제거합니다. 이 작업은 세 번째로 실행됩니다.
재해 복구
백업 사이의 데이터 손실을 방지하기 위해 Bencher는 내장된 재해 복구 솔루션을 제공합니다. 이 기능은 활성화된 Bencher Plus 라이선스가 필요합니다.
지원되는 복제 스키마:
file
: 로컬 파일 경로로 복제sftp
: SFTP를 통한 복제s3
: S3 호환 블롭 스토리지로 복제abs
: Azure Blob Storage로 복제gcs
: Google Cloud Storage로 복제
Bencher 자체 호스팅 API 서버의 재해 복구를 설정하려면 API 서버 구성의 plus.disaster_recovery
섹션을 사용하세요.