어노테이션 서버 배포하기
실제 연구를 위해 Potato 어노테이션 서버를 배포하는 방법, 인증 옵션, HTTPS, 그리고 Docker나 리버스 프록시를 활용한 프로덕션 설정.
어노테이션 연구를 실제로 진행한다는 것은 Potato를 노트북에서 빼내어 어노테이터가 접근할 수 있는 서버에 올리고, 자격 증명과 데이터를 보호하도록 알맞은 로그인 방식과 HTTPS를 갖추는 것을 의미합니다. 이 가이드는 배포 시 선택할 사항을 다룹니다. 단계별 설정은 로컬 개발과 배포 섹션을 참고하세요.
인증 방식 선택하기
로그인 방식을 어노테이터 집단에 맞춥니다.
- 비밀번호 없음: 어노테이터가 사용자 이름만 입력합니다. 신뢰할 수 있는 내부 팀이나, 플랫폼이 이미 작업자를 식별한 크라우드 연구에 적합합니다. 비밀번호 없는 로그인을 참고하세요.
- 비밀번호: 이름이 정해진 고정된 어노테이터 집단을 위한 관리형 사용자 목록입니다.
- OAuth / SSO: Google이나 GitHub, 또는 소속 기관의 싱글 사인온으로 로그인합니다. 규모가 크거나 기관 단위의 배포에 가장 좋습니다.
HTTPS 뒤에 두기
실제 배포라면 사용자 이름, 답변, 개인 데이터가 전송 중에 암호화되도록 HTTPS로 서비스해야 합니다. 일반적인 방식은 nginx 같은 리버스 프록시가 Potato 앞에서 TLS를 종료하거나, TLS를 대신 처리해 주는 호스팅 플랫폼을 쓰는 것입니다.
전형적인 프로덕션 스택
- Potato가 프로덕션 서버 프로세스 아래에서 실행됩니다.
- nginx(또는 유사한 도구)가 리버스 프록시로서 TLS와 정적 자산을 처리합니다.
- Docker로 컨테이너화한다면 재현 가능하게 패키징할 수 있습니다.
- 공개 DNS 이름과 인증서(Let's Encrypt는 무료).
먼저 똑같은 구성을 로컬에서 시범 운영한 뒤 동일한 구성을 배포하세요. 바뀌는 것은 URL, 인증, TLS뿐입니다.
연구 운영하기
- 관리자 대시보드에서 진행 상황, 처리량, 일치도를 살펴봅니다.
- 출력 디렉터리를 정기적으로 백업하세요. 어노테이션은 그곳에 기록됩니다.
- 크라우드 연구는 Prolific과 MTurk에서 연구 진행하기를 참고하세요.