Skip to main content

S3-migrering

Dessa instruktioner gäller v5.x och senare. Om du följer den här guiden för en tidigare version, använd sharelatex i stället för overleaf i sökvägsnamn och prefixet SHARELATEX_ i stället för OVERLEAF_ för miljövariabler. För v6 och senare hoppar du över de äldre user_files-kommandona.
Vi vill gärna höra från dig! Om du vill berätta för oss hur många filer du migrerade, deras totala storlek och hur lång tid migreringen tog, mejla ayaka-notes@outlook.com.
Den här guiden tar dig igenom migreringen från lagring på disk till en S3-kompatibel objektlagring. Den hänvisar till avsnitt i introduktionsdokumentet om S3-konfiguration.

Krav

  • En S3-kompatibel objektlagring att kommunicera med, se #s3-setup för alternativ
  • Ledigt diskutrymme för att migrera befintlig data, ungefär lika mycket som den nuvarande storleken på disk
  • Ett underhållsfönster för själva migreringen
  • En fullständig säkerhetskopia, inklusive konfigurationen, så att du kan återställa från den

Uppskatta det diskutrymme som behövs för migreringen

Vi kan använda du för att beräkna den aktuella diskanvändningen:
Om du inte har tillräckligt med diskutrymme på den aktuella servern kan du försöka ansluta ytterligare en disk till servern.
Historikkatalogerna har redan rätt struktur. Du kan ladda upp direkt från den bind-monterade källmappen, vilket inte kräver något extra diskutrymme.

Migreringssteg

Steg 0: stäng av instansen

Vi måste säkerställa att alla användar- och mallfiler migreras. Det är bäst att stänga av instansen för att undvika att nyligen uppladdade filer missas. Se vår guide om att göra en konsekvent säkerhetskopia för avstängningsproceduren.

Steg 1: skriv om katalogstrukturen

Vi måste skriva om katalogstrukturen för projektfiler för att kunna ladda upp dem till S3. Katalogstrukturen för lokal lagring i filestore är <project-id>_<file-id> och katalogstrukturen i S3 är <project-id>/<file-id>. I det följande används /srv/overleaf-s3-migration för att lagra filerna i den nya katalogstrukturen. Ersätt /srv/overleaf-bind-mount med den katalog på värddatorn som är monterad på /var/lib/overleaf. Kör kopieringskommandona på värddatorn med behörighet att läsa och skriva i dessa kataloger; containern förblir stoppad. Vi kan använda tar för att skriva om strukturen:

Steg 2: ladda upp filerna

Beroende på vad du föredrar kan du använda S3-klienten minio mc eller aws cli för att ladda upp filerna till din S3-kompatibla objektlagring. aws cli
  • Här ska du ersätta overleaf-user-files, overleaf-template-files, overleaf-project-blobs och overleaf-chunks med namnen på dina S3-buckets.
  • Ersätt även /srv/overleaf-bind-mount med den lokala sökvägen till bind-monteringen för /var/lib/overleaf. Som standard är detta ~/overleaf_data i en docker-compose.yml-driftsättning och <toolkit-checkout>/data/overleaf när du använder Toolkit.
minio mc Vi använder serveraliaset “s3” här, du kan ha valt ett annat namn.

Steg 3: starta instansen med S3

Lägg till alla S3-relaterade variabler i din konfiguration, enligt avsnittet Översikt över variabler i konfigurationsguiden för S3. Behåll bind-monteringen av datakatalogen: den kan också innehålla krypteringsnycklar för Zotero eller Mendeley som inte migreras till S3. Du kan nu starta instansen och validera migreringen:
  • binära filer kan förhandsgranskas i redigeraren
  • en PDF med bilder kan kompileras
  • nya filer kan laddas upp

Återställa

Du kan återställa migreringen på ett kontrollerat sätt genom att utföra stegen i omvänd ordning:
  1. Stäng av instansen
  2. Spegla tillbaka filerna genom att byta plats på källa och mål
  3. Skriv tillbaka nya filer till den lokala katalogen med en omvänd transform
  4. Starta om instansen med den gamla konfigurationen
Den första transformationen tar bort mappen på översta nivån. Den andra transformationen ändrar katalogstrukturen till en platt struktur. Jokertecknen säkerställer att endast filer extraheras, inte deras överordnade (projekt)mappar.
Senast ändrad 5 oktober 2026