Skip to main content
Každé nové vydání Server CE/Server Pro uvádí ve svých poznámkách k vydání případnou změnu podporované verze MongoDB.

Mám aktualizovat MongoDB?

Aktualizaci verze MongoDB byste měli zvažovat pouze tehdy, pokud plánujete upgrade své instance Server CE/Server Pro. Pokud používáte verzi MongoDB novější, než je doporučená pro vaši aktuální (nebo cílovou) verzi, není třeba nic měnit.
Verzi MongoDB byste nikdy neměli snižovat (downgrade).
Pokud narazíte na konkrétní problém, o kterém si myslíte, že by mohl souviset s vaší aktuální verzí MongoDB, neváhejte nahlásit issue, pokud jste uživatelem Server CE, nebo kontaktujte podporu Overleaf, pokud jste uživatelem Server Pro.

Zjištění verze MongoDB

Po otevření shellu mongo by se měla okamžitě vypsat aktuální verze. Uživatelé Overleaf Toolkit:
Uživatelé Docker Compose:

Postup aktualizace

Aktualizace verze MongoDB během upgradu instance Server CE/Server Pro probíhá takto:
  1. Rozhodněte, na kterou verzi Server CE/Server Pro chcete provést upgrade.
  2. Zjistěte verzi MongoDB doporučenou pro dané vydání Overleaf Server CE/Server Pro.
  3. Podle pokynů proveďte upgrade MongoDB na cílovou verzi.
  4. Proveďte upgrade verze obrazu Server CE/Server Pro a restartujte instanci.
Doporučujeme vždy provádět upgrade Server CE/Server Pro na nejnovější dostupnou verzi, protože ta je vždy zaručeně podporována (pouze uživatelé Server Pro).
Při upgradu Server CE/Pro doporučujeme nejprve provést upgrade na nejnovější vydání nasazené hlavní verze, a teprve poté na nejnovější vydání následující hlavní verze. Pokud je vaše nasazení o více než jednu hlavní verzi pozadu za nejnovější, budete muset provést upgrade v několika krocích.Pokud například používáte verzi 3.5.10, budete muset provést upgrade na 3.5.13 -> provést migraci na úplnou historii projektů -> 4.2.9 -> 5.5.4.Hlavní verze byste nikdy neměli přeskakovat (3.5.10 -> 5.5.4). Pokud používáte Toolkit a jste o více než jednu hlavní verzi pozadu za nejnovější, nesmíte používat skript bin/upgrade, protože budete muset provést ruční upgrade v několika krocích.
Je důležité před každým upgradem hlavní verze pořídit konzistentní zálohu, abyste se v případě potřeby mohli vrátit zpět.

Informace o podpoře verzí

Pokud se rozhodnete přejít na starší verzi, tato tabulka uvádí doporučenou verzi MongoDB pro starší vydání Server CE/Server Pro; verzi MongoDB byste však nikdy neměli snižovat.
Server CE/Server ProVerze MongoDBMinimální verze kompatibility funkcíMaximální verze podporovaná ovladačem Node.js
2.0.x3.4--
2.1.x až 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
Výše uvedená minimální verze kompatibility funkcí vychází z odpovídající verze MongoDB doporučené pro použití s uvedenou verzí Overleaf. Pokud plánujete použít vyšší verzi, bude mít MongoDB vlastní minimální požadavek.
Tabulku kompatibility, která uvádí podporované verze ovladače MongoDB pro Node.js pro použití s MongoDB, najdete zde. Stav ukončení podpory (end-of-life) pro jednotlivé verze MongoDB najdete zde.

Upgrade MongoDB

MongoDB vyžaduje upgrade po jednotlivých krocích. To znamená, že nemůžete přejít přímo například z 4.0 na 5.0. Nejprve musíte aktualizovat z 4.2 na 4.4 a poté na 5.0.
MongoDB používá pro své stabilní verze sudá čísla.

Pokyny k aktualizaci při provozu MongoDB mimo Docker

Zde jsou odkazy na pokyny k aktualizaci z mongodb.com pro upgrade MongoDB.
Pokyny pro verzi 5.0 a vyšší odkazují na instalaci v režimu replica set, nikoli na samostatnou instalaci. Protože Server Pro/CE 4.0.1+ používá transakce, musí MongoDB běžet jako replica set.
Dokumentace pro MongoDB 3.2 až 4.2 je nyní k dispozici na https://www.mongodb.com/docs/legacy/
Základní pokyny Ve většině případů aktualizace vyžaduje nastavení příznaku kompatibility ještě před samotnou aktualizací verze mongo. Postup je následující:
  1. Nastavte příznak kompatibility podle popisu v poznámkách k vydání MongoDB (viz příklady níže).
  2. Poté aktualizujte obraz mongo:
    1. Uživatelé Toolkitu Aktualizujte MONGO_VERSION, např. MONGO_VERSION=6.0
    2. Uživatelé Docker Compose Aktualizujte verzi tagu obrazu mongo,
      např. services -> mongo -> image: mongo:6.0;
Příklad: Upgrade MongoDB z 5.0 na 6.0 Začněme ověřením, že používáme MongoDB 6.0: Uživatelé Overleaf Toolkit:
Uživatelé Docker Compose:
Podle pokynů k upgradu je jediným požadavkem mít featureCompatibilityVersion nastaveno na 5.0. Uděláme to tak, že otevřeme shell MongoDB a spustíme uvedený příkaz: Uživatelé Overleaf Toolkit:
Uživatelé Docker Compose mohou spustit docker compose exec mongo mongosh, čímž získají shell, a spustit stejné příkazy jako uživatelé Toolkitu.
Uživatelé Overleaf Toolkit: Poté zastavíme instance Server CE/Server Pro a MongoDB pomocí příkazu bin/stop, nastavíme MONGO_VERSION=6.0 v config/overleaf.rc a poté restartujeme službu mongo pomocí bin/up mongo), abychom ověřili, že aktualizace proběhla hladce. Nakonec aktualizujeme verzi obrazu Server CE/Server Pro na cílovou verzi a pomocí příkazu bin/up -d znovu vytvoříme všechny služby. Uživatelé Docker Compose: Poté zastavíme instance Server CE/Server Pro a MongoDB pomocí příkazu docker compose stop, upravíme soubor docker-compose.yml tak, aby používal image: mongo:6.0, a poté restartujeme službu mongo příkazem docker compose up mongo, abychom ověřili, že aktualizace proběhla hladce. Nakonec aktualizujeme verzi obrazu Server CE/Server Pro na cílovou verzi a pomocí příkazu docker compose up znovu vytvoříme všechny služby. Začněte ověřením, že používáte MongoDB 6.0, pomocí výše uvedených příkazů mongod --version. Podle pokynů k upgradu je jediným požadavkem mít featureCompatibilityVersion nastaveno na 6.0. Uděláme to tak, že otevřeme shell MongoDB a spustíme příkaz db.adminCommand({ setFeatureCompatibilityVersion: "6.0" }) . Uživatelé Overleaf Toolkit:
Poté zastavíme instance Server CE/Server Pro a MongoDB pomocí příkazu bin/stop, nastavíme MONGO_VERSION=7.0 v config/overleaf.rc a poté restartujeme službu mongo pomocí bin/up mongo), abychom ověřili, že aktualizace proběhla hladce. Nakonec aktualizujeme verzi obrazu Server CE/Server Pro na cílovou verzi a pomocí příkazu bin/up -d znovu vytvoříme všechny služby. Začněte ověřením, že používáte MongoDB 7.0, pomocí výše uvedených příkazů mongod --version. Podle pokynů k upgradu je jediným požadavkem mít featureCompatibilityVersion nastaveno na 7.0. Uděláme to tak, že otevřeme shell MongoDB a spustíme příkaz db.adminCommand({ setFeatureCompatibilityVersion: "7.0", confirm: true }). Upozorňujeme, že nyní je vyžadován další parametr confirm: true.
Poté zastavíme instance Server CE/Server Pro a MongoDB pomocí příkazu bin/stop, nastavíme MONGO_VERSION=8.0 v config/overleaf.rc a poté restartujeme službu mongo pomocí bin/up mongo), abychom ověřili, že aktualizace proběhla hladce. Nakonec aktualizujeme verzi obrazu Server CE/Server Pro na cílovou verzi a pomocí příkazu bin/up -d znovu vytvoříme všechny služby.

Ekvivalentní příkazy pro uživatele docker compose

Pro uživatele docker compose jsou ekvivalentní příkazy tyto:
  • docker compose exec mongo mongod --version pro zobrazení verze mongo
  • docker compose exec mongo mongosh pro spuštění shellu mongo pro administrátorské příkazy
  • příkaz docker compose stop pro zastavení serveru
  • Upravte soubor docker-compose.yml tak, aby používal image: mongo:6.0, a tím proveďte upgrade verze mongo
  • docker compose up mongo pro restart služby mongo a ověření, že aktualizace proběhla hladce
  • Upravte soubor docker-compose.yml tak, aby používal image: sharelatex:VERSION, a tím proveďte upgrade verze obrazu
  • docker compose up pro opětovné vytvoření všech služeb.

Vytvoření vlastní role

Ve verzi 5.5.1 jsme zavedli kontrolu při spuštění, která ověřuje verzi kompatibility funkcí MongoDB. Pokud vaše databáze MongoDB používá ověřování (např. základní ověřování), kontejner sharelatex se nemusí spustit a zobrazí chybu oprávnění „not authorized on admin to execute command“. Chcete-li to vyřešit, můžete buď podle níže uvedených pokynů vytvořit v MongoDB novou roli a přiřadit ji uživatelskému účtu, který se používá pro přístup k databázi, nebo nastavit ALLOW_MONGO_ADMIN_CHECK_FAILURES=true, aby kontrola mohla selhat, aniž by zabránila spuštění nasazení.
Tato nová role uděluje pouze oprávnění ke čtení parametrů serveru MongoDB platných pro celý cluster a lze ji znovu použít i pro účely monitorování,
Naposledy změněno 5. října 2026