Este documento cubre la configuración de S3 en Server CE y Ayakaleaf Pro. Existe una guía aparte sobre la migración de datos existentes a un almacenamiento compatible con S3.
Si despliegas Ayakaleaf Pro con el almacenamiento s3.md habilitado, ¿se cifran los datos almacenados en S3?No. Los datos no se cifran. Todos los fragmentos del historial, los archivos de plantillas, los PDF y demás archivos se almacenan en texto plano. Si utilizas un proveedor externo de almacenamiento S3, presta mucha atención a la seguridad y la privacidad de los datos.
Cuándo considerar el uso de S3 para el almacenamiento de datos
Para instancias con menos de 1000 puestos, recomendamos usar almacenamiento en disco local con copias de seguridad consistentes periódicas.
Para instancias más grandes, con más de 1000 puestos, que alcanzan los límites de su almacenamiento local (tamaño o rendimiento), recomendamos usar un backend de almacenamiento de objetos compatible con S3 en lugar de otras soluciones de almacenamiento en red como NFS.
Opciones de almacenamiento de objetos compatibles con S3
Estas son las opciones más populares de almacenamiento de objetos compatible con S3:
- AWS S3, gestionado; te sugerimos elegir AWS S3 cuando ejecutes Overleaf CE/Server Pro en AWS
- MINIO, autoalojado
- Ceph, autoalojado
- Otros proveedores de alojamiento también ofrecen algún tipo de almacenamiento de objetos gestionado compatible con S3; si ya ejecutas Overleaf CE/Server Pro en uno de ellos, puede que prefieras usarlo en lugar de mantener el tuyo propio.
Consideraciones de latencia al elegir un almacenamiento de objetos compatible con S3
La latencia entre la instancia de Server CE/Server Pro y tu almacenamiento de objetos compatible con S3 influye mucho en el tiempo necesario para completar la migración. La latencia también afecta al rendimiento de la subida de archivos en Server CE/Server Pro, y las descargas lentas de archivos pueden tener un gran impacto en los tiempos de compilación de PDF. Te sugerimos minimizar la distancia geográfica entre tu instancia de Server CE/Server Pro y el almacenamiento de objetos compatible con S3. En un entorno gestionado, esto significa aprovisionar un bucket en la misma región y, en una solución on-premise, ejecutar ambos en el mismo campus.
Configuración de S3
Necesitamos cuatro “buckets” y dos cuentas de usuario restringidas. overleaf-user-files y OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME solo son necesarios antes de la v6.
Los buckets no deben ser accesibles públicamente
| | | |
|---|
| Bucket | Uso | Servicio | Antes en /var/lib/overleaf/data |
overleaf-user-files | archivos de usuario del proyecto | filestore | user_files |
overleaf-template-files | archivos de plantillas | filestore | template_files |
overleaf-project-blobs | blobs del historial del proyecto | history y filestore de solo lectura | history/overleaf-project-blobs |
overleaf-chunks | fragmentos del historial | history | history/overleaf-chunks |
Puede que quieras o necesites elegir un nombre distinto; asegúrate de usar tus buckets personalizados en todos los comandos.
A continuación se usarán marcadores de posición en lugar de las credenciales reales:
| Variable de entorno | Descripción |
|---|
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID | La clave de acceso/nombre de usuario del usuario restringido del servicio filestore. |
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY | La clave secreta/contraseña del usuario restringido del servicio filestore. |
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID | La clave de acceso/nombre de usuario del usuario restringido del servicio history. |
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY | La clave secreta/contraseña del usuario restringido del servicio history. |
Server CE y Server Pro solo necesitan un pequeño conjunto de permisos en cada bucket:
- crear objeto
- obtener objeto
- eliminar objeto
- listar bucket
Políticas de acceso
Así podría ser una política para el usuario de filestore:
Así podría ser una política para el usuario de history:
Resumen de variables
Al usar AWS S3
Al usar una opción autoalojada
Configuración de MINIO
MINIO_ROOT_USER y MINIO_ROOT_PASSWORD son las credenciales root de la instancia de MINIO.
Sigue la documentación oficial para obtener una copia de mc.