본문으로 건너뛰기

가이드

셀프 호스팅

Oloproof 워크벤치를 자체 서버에서 실행할 수 있습니다. 온프레미스, 프라이빗 클라우드, 캐나다 클라우드 제공업체 어디든 됩니다. deploy/self-hosted/의 번들은 oloproof.com과 같은 두 이미지 (web과 worker)와 PostgreSQL을 다이제스트로 받아 실행합니다. 데이터는 실행하는 곳에 머물며, Oloproof로는 아무것도 전송되지 않습니다.

요구 사항

  • Docker Engine과 Compose 플러그인이 있는 Linux 호스트 1대. 한 팀에는 메모리 4 GB와 CPU 2개면 충분합니다. worker는 1.5 GB, web은 768 MB로 제한됩니다.
  • PostgreSQL용 디스크. 푸시하는 모든 실행이 여기에 저장됩니다.
  • HTTPS용 리버스 프록시(Caddyfile.example이 동작하는 예시이며, nginx도 됩니다).
  • ghcr.io/etobicoke/oloproof에 대한 접근, 또는 자체 레지스트리에 복사한 이미지.

설치

cd deploy/self-hosted
sh generate-env.sh          # writes .env and fills every secret

.env에 OLOPROOF_WEB_IMAGE, OLOPROOF_WORKER_IMAGE(둘 다 ...@sha256: 다이제스트)와 OLOPROOF_PUBLIC_URL을 설정하고, 로그인 방법을 하나 이상 지정합니다. 비밀번호 계정을 위한 메일 (OLOPROOF_MAIL_FROM과 OLOPROOF_SMTP_URL 또는 OLOPROOF_RESEND_API_KEY)이나 OAuth 제공자입니다. 둘 다 없으면 web이 시작을 거부합니다. 그런 다음 시작합니다.

docker compose --env-file .env up -d
curl -fsS http://127.0.0.1:3000/api/health

migrate 서비스가 web과 worker가 시작되기 전에 데이터베이스를 최신 상태로 만듭니다. 가입은 초대제이며, 초대는 OLOPROOF_OPERATOR_TOKEN으로 발급합니다(deploy/README.md의 "Signup").

구성

.env.example에는 web과 worker가 읽는 모든 변수가 필수, 생성, 선택 중 하나로 표시되어 있습니다. 비어 있는 선택 변수는 해당 기능을 끕니다. 생성된 비밀 값은 보관하십시오. 데이터베이스 비밀번호를 새로 만들면 데이터베이스에 접근할 수 없게 되고, 서명 키를 새로 만들면 새 서명자가 시작됩니다. 셀프 호스팅 번들에는 과금이 없으므로 모든 워크스페이스에 무료 플랜의 월간 케이스 수가 적용됩니다. 팀에 맞게 OLOPROOF_FREE_TIER_PUSHED_MONTHLY와 OLOPROOF_FREE_TIER_MANAGED_MONTHLY를 올리십시오.

기본적으로 외부 네트워크 없음

스택은 텔레메트리를 보내지 않으며 Oloproof 서비스를 호출하지 않습니다. 네트워크에는 켠 기능을 위해서만 나갑니다. 메일(네트워크 내부의 SMTP 릴레이 또는 Resend), OAuth 로그인, Turnstile, 그리고 워크스페이스가 키를 저장한 모델 제공자입니다. 아무것도 설정하지 않으면 외부 경로 없이 실행됩니다. 에어갭 호스트라면 세 이미지를 자체 레지스트리에 복사하고 이미지 변수가 그곳을 가리키게 하십시오. 비밀번호 계정에는 메일이 필요하므로, 에어갭 네트워크에서는 OLOPROOF_SMTP_URL을 그 내부의 릴레이로 설정합니다.

백업

sh backup.sh /srv/backups/oloproof

backup.sh는 압축된 pg_dump를 선택한 디렉터리에 씁니다. cron이나 systemd 타이머로 예약하고, 디렉터리는 직접 호스트 밖으로 복사하십시오. 스크립트가 복원 명령을 보여 줍니다.

덤프에는 .env가 들어 있지 않으며, .env에는 OLOPROOF_CONTENT_KEY와 그 밖에 생성된 비밀이 들어 있습니다. 이것이 없으면 복원한 데이터베이스는 암호화된 내용을 읽을 수 없습니다. .env는 만들 때와 바꿀 때마다 덤프와 따로, 오프라인(비밀번호 관리자나 암호화된 드라이브)에 백업하고, 절대 덤프 옆에 두지 마십시오.

업그레이드

새 릴리스의 두 다이제스트를 .env에 쓴 다음 실행합니다.

sh upgrade.sh /srv/backups/oloproof

백업하고, 이미지를 받고, 마이그레이션한 뒤 web과 worker를 다시 시작합니다. 짧은 중단이 있습니다. 되돌리려면 이전 다이제스트를 쓰고 스크립트가 만든 백업을 복원합니다.

지원 범위

  • 호스트 1대. 고가용성은 없습니다. 스택의 가용성은 그 머신과 같습니다.
  • 데이터 보관 위치는 실행하는 곳입니다. Oloproof는 귀하의 데이터를 전혀 보유하지 않습니다.
  • 무중단 릴리스는 없습니다. 이는 호스팅 서비스에만 해당합니다.
  • 번들은 deploy/self-hosted/check.sh로 검사합니다. 고유한 프로젝트 이름으로 시작하고, /api/health를 기다리고, 공개 페이지를 가져온 뒤 제거합니다.