Skip to main content

Předpoklady

Overleaf je typický open-source projekt s mikroservisní architekturou, ve kterém všechny služby běží v Dockeru. K nastavení vývojového prostředí Overleafu budete potřebovat výkonný server; doporučujeme konfiguraci alespoň s 8 jádry a 16 GB RAM, protože bude potřeba současně provozovat více než 20 kontejnerů.
Protože servery s 8 a více jádry CPU bývají obvykle drahé, důrazně doporučujeme vyvíjet na vlastním lokálním počítači.
Zároveň předpokládáme, že jako vývojář už znáte instalaci Dockeru. Důrazně doporučujeme pro vývoj používat aktuální a stabilní Ubuntu LTS (např. Ubuntu 24.04 v letech 2025–2026) a nejnovější Docker, protože se tím snižuje pravděpodobnost neočekávaných chyb. Shrnuto, budete potřebovat:
  • Výkonný server/desktop pro vývoj
  • Aktuální a stabilní Ubuntu LTS (např. Ubuntu 24.04)
  • Prostředí Docker a Git

Návod ke konfiguraci

Zde si na příkladu overleaf-cep ukážeme, jak nakonfigurovat vývojové prostředí Overleafu.
1

Stažení zdrojového kódu

Nejprve si naklonujte repozitář:
bash
2

Synchronizace package-lock.json

Protože se Overleaf vyvíjí v interním repozitáři, soubor package-lock.json se kvůli některým vývojovým problémům velmi pravděpodobně dostane mimo synchronizaci. K jeho synchronizaci je třeba spustit následující příkaz (pokud máte lokální prostředí nodejs).
bash
Pokud nodejs nainstalovaný nemáte, nevadí – stejný příkaz můžete spustit přímo pomocí docker. Spusťte jej z kořenového adresáře repozitáře Overleaf:
bash
3

Sestavení vývojového image

Overleaf poskytuje vyhrazený adresář /develop pro vývojové skripty. Stačí sestavit služby:
bash
Pokud Dockeru při paralelním sestavování služeb dochází RAM, vytvořte v tomto adresáři soubor .env obsahující COMPOSE_PARALLEL_LIMIT=1.
4

Spuštění všech mikroslužeb

Poté spusťte služby:
bash
Jakmile služby běží, otevřete http://localhost/launchpad a vytvořte první administrátorský účet.
Příkaz bin/up musíte spustit před příkazem bin/dev. Jinak můžete narazit na řadu problémů s oprávněními.
Ve výchozím nastavení nejsou administrátorská oprávnění k dispozici. Je třeba přidat následující řádek do develop/dev.env. Poté budete mít přístup k administrátorskému panelu.

TeX Live

Kompilace PDF vyžaduje sestavení image TeX Live, který zajišťuje kompilaci uvnitř Dockeru:
Pro kompilaci na hostiteli s macOS může být nutné přepsat cestu k socketu Dockeru vytvořením souboru .env v tomto adresáři s obsahem DOCKER_SOCKET_PATH=/var/run/docker.sock.raw Můžete také použít ayaka-notes/texlive-full, případně tag base, což je minimální verze texlive.

Vývoj

Abyste nemuseli po každé změně kódu spouštět bin/build && bin/up, můžete Overleaf Community Edition spustit ve vývojovém režimu, ve kterém se služby při změnách kódu automaticky aktualizují. K tomu použijte přiložený skript bin/dev:
Tím se všechny služby spustí pomocí node --watch, který automaticky sleduje kód a podle potřeby služby restartuje. Pro zlepšení výkonu můžete ve vývojovém režimu spustit jen část služeb tak, že skriptu bin/dev předáte jejich seznam oddělený mezerami:
Spuštění služby web ve vývojovém režimu aktualizuje službu web pouze při změnách backendového kódu. Aby se automaticky aktualizoval i frontendový kód, nezapomeňte ve vývojovém režimu spustit také službu webpack.
Pokud nejsou uvedeny žádné služby, spustí se ve vývojovém režimu všechny.

Ladění

Při spuštění ve vývojovém režimu zpřístupňuje většina služeb ladicí port, ke kterému můžete připojit debugger, například inspektor v Chrome Dev Tools nebo debugger integrovaný v IDE. Následující tabulka ukazuje port zpřístupněný na hostitelském počítači pro každou službu: Chcete-li se ke službě připojit pomocí vzdáleného ladění v Chromu, přejděte na chrome://inspect/ a ujistěte se, že je zaškrtnuto Discover network targets. Poté klikněte na Configure… a přidejte položku localhost:[service port] pro každou ze služeb, ke které chcete připojit debugger. Po přidání položky se služba zobrazí jako Remote Target, který můžete zkoumat a ladit.

Logování

Ve vývojovém prostředí poskytuje Overleaf skript bin/logs, je však potřeba nainstalovat některé závislosti:
Případně můžete přímo spustit:

Další nástroje

Až budete mít vše hotové, můžete pokračovat další částí a přidat do svého vývoje Overleafu některé ladicí nástroje.
Naposledy změněno 5. října 2026