Det här dokumentet beskriver hur S3 konfigureras i Server CE och Ayakaleaf Pro. En separat guide beskriver hur befintliga data migreras till S3-kompatibel lagring.
Om du driftsätter Ayakaleaf Pro med s3.md-lagring aktiverad, är då de data som lagras i S3 krypterade?Nej. Data krypteras inte. Alla historikdelar (chunks), mallfiler, PDF-filer och andra filer lagras i klartext. Om du använder en extern S3-lagringsleverantör från tredje part bör du vara mycket uppmärksam på datasäkerhet och integritet.
När du bör överväga att använda S3 för datalagring
För instanser med färre än 1000 platser rekommenderar vi lokal disklagring med regelbundna konsekventa säkerhetskopior.
För större instanser med fler än 1000 platser som når gränserna för sin lokala lagring (storlek eller genomströmning) rekommenderar vi en S3-kompatibel objektlagringsbackend framför andra nätverksbaserade lagringslösningar som NFS.
Alternativ för S3-kompatibel objektlagring
Här är de populäraste alternativen för S3-kompatibel objektlagring:
- AWS S3, hanterad tjänst; vi föreslår AWS S3 när du kör Overleaf CE/Server Pro på AWS
- MINIO, egen drift
- Ceph, egen drift
- Andra hostingleverantörer erbjuder också någon form av hanterad S3-kompatibel objektlagring. Om du redan kör Overleaf CE/Server Pro hos en sådan leverantör kan det vara bättre att använda den än att driva en egen.
Latens att tänka på vid val av S3-kompatibel objektlagring
Latensen mellan Server CE/Server Pro-instansen och din S3-kompatibla objektlagring bidrar i hög grad till hur lång tid migreringen tar. Latensen påverkar också prestandan vid filuppladdning i Server CE/Server Pro, och långsamma filnedladdningar kan dessutom ha stor inverkan på PDF-kompileringstiderna. Vi föreslår att du minimerar det geografiska avståndet mellan din Server CE/Server Pro-instans och den S3-kompatibla objektlagringen. I en hanterad miljö innebär det att skapa en bucket i samma region, och för en lokal lösning att köra båda på samma campus.
Konfiguration av S3
Vi behöver fyra “buckets” och två användarkonton med begränsad behörighet. overleaf-user-files och OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME behövs endast före v6.
Buckets ska inte vara offentligt åtkomliga
| | | |
|---|
| Bucket | Användning | Tjänst | Tidigare i /var/lib/overleaf/data |
overleaf-user-files | användarfiler i projekt | filestore | user_files |
overleaf-template-files | mallfiler | filestore | template_files |
overleaf-project-blobs | blobbar för projekthistorik | history och skrivskyddad filestore | history/overleaf-project-blobs |
overleaf-chunks | historikdelar (chunks) | history | history/overleaf-chunks |
Du kan vilja eller behöva välja andra namn; se i så fall till att använda dina egna buckets i alla kommandon.
I det följande används platshållare för de faktiska inloggningsuppgifterna:
| Miljövariabel | Beskrivning |
|---|
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID | Åtkomstnyckeln/användarnamnet för filestore-tjänstens begränsade användare. |
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY | Den hemliga nyckeln/lösenordet för filestore-tjänstens begränsade användare. |
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID | Åtkomstnyckeln/användarnamnet för history-tjänstens begränsade användare. |
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY | Den hemliga nyckeln/lösenordet för history-tjänstens begränsade användare. |
Server CE och Server Pro behöver endast ett fåtal behörigheter för varje bucket:
- skapa objekt
- hämta objekt
- ta bort objekt
- lista bucket
Åtkomstpolicyer
Så här kan en policy för filestore-användaren se ut:
Så här kan en policy för history-användaren se ut:
Översikt över variabler
Vid användning av AWS S3
Vid användning av ett alternativ i egen drift
Konfiguration av MINIO
MINIO_ROOT_USER och MINIO_ROOT_PASSWORD är root-inloggningsuppgifterna för MINIO-instansen.
Följ den officiella dokumentationen för att skaffa en kopia av mc.