Skip to main content
Server CE/Server Pro의 새 릴리스는 지원되는 MongoDB 버전의 변경 사항을 릴리스 노트에 명시합니다.

MongoDB를 업데이트해야 하나요?

Server CE/Server Pro 인스턴스를 업그레이드할 계획인 경우에만 MongoDB 버전 업데이트를 고려해야 합니다. 현재(또는 목표) 버전에 권장되는 것보다 최신 버전의 MongoDB를 실행하고 있다면 아무것도 변경할 필요가 없습니다.
MongoDB 버전을 절대로 다운그레이드해서는 안 됩니다.
현재 MongoDB 버전과 관련이 있다고 생각되는 특정 문제가 발생하면, Server CE 사용자는 언제든지 이슈를 등록하고, Server Pro 사용자는 Overleaf Support에 문의하세요.

MongoDB 버전 확인

mongo 셸을 열면 즉시 현재 버전이 출력됩니다. Overleaf Toolkit 사용자:
Docker Compose 사용자:

업데이트 과정

Server CE/Server Pro 인스턴스를 업그레이드하는 동안 MongoDB 버전을 업데이트하는 과정은 다음과 같습니다:
  1. 업그레이드할 Server CE/Server Pro 버전을 결정합니다.
  2. 해당 Overleaf Server CE/Server Pro 릴리스에서 권장하는 MongoDB 버전을 찾습니다.
  3. 안내에 따라 MongoDB를 목표 버전으로 업그레이드합니다.
  4. Server CE/Server Pro 이미지 버전을 업그레이드하고 인스턴스를 다시 시작합니다.
Server CE/Server Pro는 항상 지원이 보장되므로 항상 사용 가능한 최신 버전으로 업그레이드할 것을 권장합니다(Server Pro 사용자만 해당).
Server CE/Pro를 업그레이드할 때는 다음 메이저 버전의 최신 릴리스로 업그레이드하기 전에 배포된 메이저 버전의 최신 릴리스로 먼저 업그레이드할 것을 권장합니다. 배포가 최신 버전보다 메이저 버전이 두 개 이상 뒤처진 경우 여러 단계에 걸친 업그레이드를 수행해야 합니다.예를 들어 3.5.10을 실행 중이라면 3.5.13으로 업그레이드 -> 전체 프로젝트 기록 마이그레이션 수행 -> 4.2.9 -> 5.5.4 순서로 업그레이드해야 합니다.메이저 버전을 절대로 건너뛰어서는 안 됩니다(3.5.10 -> 5.5.4). Toolkit을 사용하고 있고 최신 버전보다 메이저 버전이 두 개 이상 뒤처져 있다면, 여러 단계의 수동 업그레이드를 수행해야 하므로 bin/upgrade 스크립트를 사용해서는 안 됩니다.
필요한 경우 롤백할 수 있도록 모든 메이저 버전 업그레이드 전에 일관된 백업을 만들어 두는 것이 중요합니다.

버전 지원 정보

이전 버전을 사용하기로 결정한 경우를 위해 이 표는 이전 Server CE/Server Pro 릴리스에 권장되는 MongoDB 버전을 보여 주지만, MongoDB 버전을 절대로 다운그레이드해서는 안 됩니다.
Server CE/Server ProMongoDB 버전최소 기능 호환성 버전Node.js 드라이버가 지원하는 최대 버전
2.0.x3.4--
2.1.x ~ 2.4.x3.6--
>=2.5.04.0--
>=3.1.04.2--
>=3.2.04.4--
>=4.2.05.0--
>=5.1.06.0--
>=5.3.16.05.08.0
>=5.5.06.06.08.0
6.0.08.08.08.0
위의 최소 기능 호환성 버전은 표시된 Overleaf 버전과 함께 사용하도록 권장되는 해당 MongoDB 버전을 기준으로 합니다. 더 높은 버전을 사용하려는 경우 MongoDB 자체의 최소 요구 사항이 적용됩니다.
MongoDB와 함께 사용할 수 있는 MongoDB Node.js 드라이버의 지원 버전을 명시한 호환성 표는 여기에서 볼 수 있습니다. 각 MongoDB 버전의 지원 종료(end-of-life) 상태는 여기에서 볼 수 있습니다.

MongoDB 업그레이드

MongoDB는 단계별 업그레이드가 필요합니다. 즉, 예를 들어 4.0에서 5.0으로 바로 업그레이드할 수 없습니다. 먼저 4.2에서 4.4로 업데이트한 다음 5.0으로 업데이트해야 합니다.
MongoDB는 안정 버전에 짝수를 사용합니다.

Docker 외부에서 MongoDB를 실행하는 경우의 업데이트 안내

다음은 MongoDB를 업그레이드할 때 참고할 mongodb.com의 업데이트 안내 링크입니다.
5.0 이상의 안내는 독립 실행형(standalone)이 아닌 복제본 세트(replica set) 설치를 기준으로 합니다. Server Pro/CE 4.0.1 이상은 트랜잭션을 사용하므로 MongoDB를 복제본 세트로 실행해야 합니다.
MongoDB 3.2 ~ 4.2 문서는 이제 https://www.mongodb.com/docs/legacy/에서 볼 수 있습니다.
기본 안내 대부분의 경우 실제로 mongo 버전을 업데이트하기 전에 호환성 플래그를 설정해야 합니다. 단계는 다음과 같습니다:
  1. MongoDB 릴리스 노트에 설명된 대로 호환성 플래그를 설정합니다(아래 예시 참조).
  2. 그런 다음 mongo 이미지를 업데이트합니다:
    1. Toolkit 사용자 MONGO_VERSION을 업데이트합니다. 예: MONGO_VERSION=6.0
    2. Docker Compose 사용자 mongo 이미지 태그의 버전을 업데이트합니다.
      예: services -> mongo -> image: mongo:6.0
예시: MongoDB를 5.0에서 6.0으로 업그레이드 먼저 MongoDB 6.0을 실행 중인지 확인해 보겠습니다: Overleaf Toolkit 사용자:
Docker Compose 사용자:
업그레이드 안내에 따르면 유일한 요구 사항은 featureCompatibilityVersion을 5.0으로 설정하는 것입니다. MongoDB 셸을 열고 안내된 명령을 실행하여 설정합니다: Overleaf Toolkit 사용자:
Docker Compose 사용자는 docker compose exec mongo mongosh를 실행하여 셸을 열고 Toolkit 사용자와 같은 명령을 실행할 수 있습니다.
Overleaf Toolkit 사용자: 그런 다음 bin/stop 명령으로 Server CE/Server Pro 및 MongoDB 인스턴스를 중지하고, config/overleaf.rc에서 MONGO_VERSION=6.0을 설정한 후, bin/up mongo로 mongo 서비스를 다시 시작하여 업데이트가 원활하게 진행되었는지 확인합니다. 마지막으로 Server CE/Server Pro 이미지 버전을 목표 버전으로 업데이트하고 bin/up -d 명령으로 모든 서비스를 다시 생성합니다. Docker Compose 사용자: 그런 다음 docker compose stop 명령으로 Server CE/Server Pro 및 MongoDB 인스턴스를 중지하고, docker-compose.yml 파일이 image: mongo:6.0을 사용하도록 업데이트한 후, docker compose up mongo 명령으로 mongo 서비스를 다시 시작하여 업데이트가 원활하게 진행되었는지 확인합니다. 마지막으로 Server CE/Server Pro 이미지 버전을 목표 버전으로 업데이트하고 docker compose up 명령으로 모든 서비스를 다시 생성합니다. 먼저 위의 mongod --version 명령을 사용해 MongoDB 6.0을 실행 중인지 확인합니다. 업그레이드 안내에 따르면 유일한 요구 사항은 featureCompatibilityVersion을 6.0으로 설정하는 것입니다. MongoDB 셸을 열고 db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }) 명령을 실행하여 설정합니다. Overleaf Toolkit 사용자:
그런 다음 bin/stop 명령으로 Server CE/Server Pro 및 MongoDB 인스턴스를 중지하고, config/overleaf.rc에서 MONGO_VERSION=7.0을 설정한 후, bin/up mongo로 mongo 서비스를 다시 시작하여 업데이트가 원활하게 진행되었는지 확인합니다. 마지막으로 Server CE/Server Pro 이미지 버전을 목표 버전으로 업데이트하고 bin/up -d 명령으로 모든 서비스를 다시 생성합니다. 먼저 위의 mongod --version 명령을 사용해 MongoDB 7.0을 실행 중인지 확인합니다. 업그레이드 안내에 따르면 유일한 요구 사항은 featureCompatibilityVersion을 7.0으로 설정하는 것입니다. MongoDB 셸을 열고 db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }) 명령을 실행하여 설정합니다. 이제 추가로 confirm: true 매개변수가 필요하다는 점에 유의하세요.
그런 다음 bin/stop 명령으로 Server CE/Server Pro 및 MongoDB 인스턴스를 중지하고, config/overleaf.rc에서 MONGO_VERSION=8.0을 설정한 후, bin/up mongo로 mongo 서비스를 다시 시작하여 업데이트가 원활하게 진행되었는지 확인합니다. 마지막으로 Server CE/Server Pro 이미지 버전을 목표 버전으로 업데이트하고 bin/up -d 명령으로 모든 서비스를 다시 생성합니다.

docker compose 사용자를 위한 동등한 명령

docker compose 사용자의 경우 동등한 명령은 다음과 같습니다:
  • docker compose exec mongo mongod --version: mongo 버전 표시
  • docker compose exec mongo mongosh: 관리 명령을 위한 mongo 셸 시작
  • docker compose stop: 서버 중지
  • docker-compose.yml 파일이 image: mongo:6.0을 사용하도록 편집하여 mongo 버전 업그레이드
  • docker compose up mongo: mongo 서비스를 다시 시작하고 업데이트가 원활하게 진행되었는지 확인
  • docker-compose.yml 파일이 image: sharelatex:VERSION을 사용하도록 편집하여 이미지 버전 업그레이드
  • docker compose up: 모든 서비스 다시 생성

사용자 지정 역할 만들기

버전 5.5.1에서 MongoDB의 기능 호환성 버전을 확인하는 시작 검사가 도입되었습니다. MongoDB 데이터베이스가 인증(예: 기본 인증)을 사용하는 경우 sharelatex 컨테이너가 시작되지 않고 “not authorized on admin to execute command” 권한 오류가 표시될 수 있습니다. 이 문제를 해결하려면 아래 안내에 따라 MongoDB에서 새 역할을 만들어 데이터베이스 접근에 사용하는 사용자 계정에 할당하거나, ALLOW_MONGO_ADMIN_CHECK_FAILURES=true를 설정하여 검사가 실패해도 배포 시작이 차단되지 않도록 할 수 있습니다.
이 새 역할은 클러스터 전체의 MongoDB 서버 매개변수를 읽는 권한만 부여하며, 모니터링 용도로도 재사용할 수 있습니다.
마지막 수정일 2026년 10월 5일