Skip to main content

Migrace na S3

Tyto pokyny platí pro verzi v5.x a novější. Pokud tento návod používáte pro starší verzi, použijte v názvech cest sharelatex místo overleaf a u proměnných prostředí předponu SHARELATEX_ místo OVERLEAF_. U verze v6 a novější vynechte starší příkazy pro user_files.
Rádi od vás uslyšíme! Pokud se s námi chcete podělit o to, kolik souborů jste migrovali, jaký byl jejich celkový objem a jak dlouho migrace trvala, napište na ayaka-notes@outlook.com .
Tento návod vás provede migrací z diskového úložiště na objektové úložiště kompatibilní s S3. Odkazuje na části úvodního dokumentu Nastavení S3.

Požadavky

  • Objektové úložiště kompatibilní s S3, se kterým lze komunikovat; možnosti viz #s3-setup
  • Volné místo na disku pro migraci stávajících dat, přibližně ve velikosti aktuálních dat na disku
  • Okno údržby pro samotnou migraci
  • Úplnou zálohu včetně konfigurace, aby z ní bylo možné obnovit

Odhad potřebného místa na disku pro migraci

Pro výpočet aktuálního využití disku můžeme použít du:
Pokud na aktuálním serveru nemáte k dispozici dostatek místa na disku, zkuste k serveru připojit další disk.
Adresáře historie již mají správné rozložení. Můžete je nahrát přímo ze zdrojové složky připojené přes bind-mount, což nevyžaduje žádné další místo na disku.

Postup migrace

Krok 0: vypnutí instance

Musíme zajistit, aby byly migrovány všechny uživatelské soubory i soubory šablon. Nejlepší je instanci vypnout, aby se nepřehlédly nově nahrané soubory. Postup vypnutí najdete v našem návodu k provedení konzistentní zálohy.

Krok 1: přepsání rozložení adresářů

Pro nahrání do S3 musíme přepsat rozložení adresářů souborů projektů. Rozložení adresářů pro lokální úložiště ve filestore je <project-id>_<file-id> a rozložení adresářů v S3 je <project-id>/<file-id>. V následujícím textu se pro ukládání souborů v novém rozložení adresářů používá /srv/overleaf-s3-migration. Nahraďte /srv/overleaf-bind-mount adresářem hostitele připojeným do /var/lib/overleaf. Příkazy pro kopírování spouštějte na hostiteli s oprávněním ke čtení a zápisu do těchto adresářů; kontejner zůstává zastavený. K přepsání rozložení můžeme využít tar:

Krok 2: nahrání souborů

Podle svých preferencí můžete k nahrání souborů do objektového úložiště kompatibilního s S3 použít S3 klienta minio mc nebo aws cli. aws cli
  • Zde byste měli nahradit overleaf-user-files, overleaf-template-files, overleaf-project-blobs a overleaf-chunks názvy svých S3 bucketů.
  • Nahraďte také /srv/overleaf-bind-mount lokální cestou bind-mountu /var/lib/overleaf. Ve výchozím nastavení je to ~/overleaf_data v nasazení přes docker-compose.yml a <toolkit-checkout>/data/overleaf při použití Toolkitu.
minio mc Zde používáme alias serveru „s3“; vy jste mohli zvolit jiný název.

Krok 3: spuštění instance s nasměrováním na S3

Přidejte do své konfigurace všechny proměnné související s S3, jak je podrobně popsáno v části Přehled proměnných v návodu k nastavení S3. Bind-mount datového adresáře ponechte: může obsahovat také šifrovací klíče pro Zotero nebo Mendeley, které se do S3 nemigrují. Nyní můžete instanci spustit a migraci ověřit:
  • v editoru lze zobrazit náhled binárních souborů
  • lze zkompilovat PDF s obrázky
  • lze nahrávat nové soubory

Vrácení zpět

Migraci můžete elegantně vrátit zpět provedením kroků v opačném pořadí:
  1. Vypněte instanci
  2. Zrcadlete soubory zpět prohozením zdroje a cíle
  3. Zapište nové soubory zpět do lokálního adresáře pomocí inverzní transformace transform
  4. Restartujte instanci se starou konfigurací
První transformace odstraní složku nejvyšší úrovně. Druhá transformace změní rozložení adresářů na ploché. Zástupné znaky (wildcards) zajistí, že se extrahují pouze soubory, nikoli jejich nadřazené složky (projektů).
Naposledy změněno 5. října 2026