Skip to main content
Zotero 가져오기는 모든 Ayakaleaf Pro 파드의 web 서비스(tpr-webmodule 모듈)에서 실행됩니다. Zotero 연동에 설명된 대로 콜백 URL ${OVERLEAF_SITE_URL}/user/zotero/oauth/callback을 사용하여 Zotero OAuth 클라이언트를 등록한 다음, 아래와 같이 Kubernetes를 구성하세요.

구성

1

ConfigMap

30-config.yaml (changes)
ENABLED_LINKED_FILE_TYPES는 설치 시의 값을 대체하므로, 기존 유형은 유지하고 zotero를 추가하세요(둘 다 사용한다면 mendeley도 추가).
2

Secret

ZOTERO_CIPHER_PASSWORD는 MongoDB에 저장되는 사용자의 Zotero 키를 암호화합니다. 이 값이 없으면 각 파드는 자체 /var/lib/overleaf/data에 키 파일을 생성합니다. 여러 레플리카를 사용하는 경우 노드마다 키가 달라지며, 다른 레플리카가 처리하는 사용자는 연결된 Zotero 계정을 사용할 수 없습니다. 첫 사용자가 Zotero를 연결하기 전에 설정하세요. 나중에 변경하면 모든 사용자가 Zotero를 다시 연결해야 합니다.
3

적용 및 재시작

여러 레플리카

위에서 설명한 대로 Secret에 ZOTERO_CIPHER_PASSWORD를 설정하세요. 이 값이 없으면 한 레플리카에서 가져온 파일을 다른 레플리카에서 새로 고칠 수 없습니다. 해당 레플리카의 키 파일로는 사용자의 Zotero 키를 복호화할 수 없으므로 새로 고침이 “The remote service produced an error”와 함께 실패합니다. Secret에 비밀번호를 설정하면 모든 레플리카에서 동작합니다. 두 경우 모두 overleaf-0에서 가져오고 overleaf-1에서 새로 고치는 방식으로 테스트했습니다. OAuth 핸드셰이크는 상태를 Redis의 세션에 보관하므로 콜백은 어느 레플리카에 도달해도 됩니다.

Kubernetes에서의 테스트

www.zotero.org 및 api.zotero.org의 모의 서버(overleaf-certs의 NODE_EXTRA_CA_CERTS를 통해 신뢰됨)를 대상으로, HAProxy 뒤에 레플리카 세 개를 둔 Kubernetes 1.37에서 Zotero에 대한 엔드 투 엔드 테스트가 통과했습니다(18개 케이스). 테스트 항목은 OAuth 1.0a를 통한 연결 및 연결 해제, 라이브러리와 그룹을 .bib 파일로 가져오기, 파일 새로 고침, Zotero에서 키 취소, 다시 연결 요청, 공동 작업자가 검색할 수 있는 참고문헌, 가져온 사용자만 새로 고칠 수 있는지 여부, API 오류, Zotero와의 느린 연결입니다.
마지막 수정일 2026년 11월 2일