TriliumNext Notes 한국어 패치만 (기존 운영 중인 인스턴스용)
이미 Trilium Notes를 운영 중이고, 새 이미지를 빌드하거나 컨테이너를 새로 만들고 싶지 않은 경우를 위한 패키지입니다. 기존 데이터/설정은 그대로 두고 파일 3개만 컨테이너에 bind-mount로 추가하면 됩니다.
전체 배포판(Dockerfile, install.sh 포함, 새로 설치하는 사람용)은 triliumnext-korean-patch를 참고하세요.
포함된 파일
main.cjs— 이미 패치가 적용된, 바로 쓸 수 있는 서버 번들 (triliumnext/notes:latest, 빌드일 2025-06-07, appVersion 0.95.0 기준).translation.json— 클라이언트 UI 문자열, 1,712개 키, 100% 번역.server.json— 서버 문자열, 283개 키, 100% 번역.patch_main_cjs.js—main.cjs를 만들어낸 패치 스크립트. 다른 버전의 이미지를 쓰고 있다면 이 저장소의main.cjs가 안 맞을 수 있으니, 이 스크립트를 직접 돌려서 본인 이미지에 맞는 패치 파일을 새로 만드세요.docker-compose.bind-mount.yml.example— 기존docker-compose.yml에 어떻게 반영하면 되는지 보여주는 예시.
적용 방법
- 이 압축 파일을 기존 Trilium
docker-compose.yml이 있는 폴더 옆에 풀어두거나,main.cjs/translation.json/server.json세 파일을 원하는 위치로 복사. - 기존
docker-compose.yml의trilium서비스에 아래 3줄을volumes:밑에 추가 (docker-compose.bind-mount.yml.example참고, 경로는 본인 파일 위치에 맞게 조정):volumes: - ./main.cjs:/usr/src/app/main.cjs:ro - ./translation.json:/usr/src/app/public/translations/ko/translation.json:ro - ./server.json:/usr/src/app/assets/translations/ko/server.json:ro - 주의:
docker cp로 컨테이너 안에 파일만 직접 넣지 마세요. 그렇게 하면 다음에 컨테이너를 완전히 재생성(docker compose down && up)할 때 파일이 통째로 사라져서, 나중에 "왜 갑자기 다시 영어로 나오지?" 하는 원인 불명의 문제가 생깁니다. 반드시 위 2번처럼docker-compose.yml에 bind-mount로 등록하세요. docker compose up -d로 재시작 (설정만 바뀌었으므로--build불필요).- 앱 안에서 옵션 → 언어 및 지역에서 "한국어" 선택 후 페이지 새로고침 (본문 텍스트까지 전부 한국어로 바뀌려면 새로고침이 한 번 필요합니다).
이미지 버전이 다른 경우
이 main.cjs는 위에 적은 특정 빌드용으로 패치된 파일입니다. 다른 버전을 쓰고 있어서
안 맞으면, 컨테이너의 원본 main.cjs를 추출해서 patch_main_cjs.js를 직접 돌리세요:
docker create --name trilium-tmp triliumnext/notes:latest
docker cp trilium-tmp:/usr/src/app/main.cjs ./main.cjs
docker rm trilium-tmp
node patch_main_cjs.js ./main.cjs
node --check ./main.cjs # 반드시 배포 전에 문법 검사
전체 배경 설명(왜 이렇게 복잡한지, 겪었던 문제 4가지)은 전체 배포판 저장소의 README를 참고하세요.