Este documento aborda a configuração do S3 no Server CE e no Ayakaleaf Pro. Há um guia separado sobre a migração de dados existentes para um armazenamento compatível com S3.
Se você implantar o Ayakaleaf Pro com o armazenamento s3.md ativado, os dados armazenados no S3 são criptografados?Não. Os dados não são criptografados. Todos os chunks de histórico, arquivos de template, PDFs e outros arquivos são armazenados em texto simples. Se você usar um provedor externo de armazenamento S3 de terceiros, preste muita atenção à segurança e à privacidade dos dados.
Quando considerar o uso do S3 para armazenamento de dados
Para instâncias com menos de 1000 licenças, recomendamos usar armazenamento em disco local com backups consistentes regulares.
Para instâncias maiores, com mais de 1000 licenças, que atingem os limites do armazenamento local (tamanho ou taxa de transferência), recomendamos usar um back end de armazenamento de objetos compatível com S3 em vez de outras soluções de armazenamento em rede, como NFS.
Estas são as opções mais populares de armazenamento de objetos compatível com S3:
- AWS S3, gerenciado; sugerimos escolher o AWS S3 ao executar o Overleaf CE/Server Pro na AWS
- MINIO, auto-hospedado
- Ceph, auto-hospedado
- Outros provedores de hospedagem também oferecem algum tipo de armazenamento de objetos gerenciado compatível com S3; você pode preferir usá-lo em vez de manter o seu próprio se já executa o Overleaf CE/Server Pro nesse provedor.
A latência entre a instância do Server CE/Server Pro e seu armazenamento de objetos compatível com S3 contribui muito para o tempo necessário para concluir a migração. A latência também afeta o desempenho do upload de arquivos no Server CE/Server Pro, e downloads de arquivos lentos também podem ter um grande impacto nos tempos de compilação de PDF. Sugerimos minimizar a distância geográfica entre sua instância do Server CE/Server Pro e o armazenamento de objetos compatível com S3. Em um ambiente gerenciado, isso significa provisionar um bucket na mesma região e, em uma solução on-premise, executar os dois no mesmo campus.
Configuração do S3
Precisamos de quatro “buckets” e duas contas de usuário restritas. overleaf-user-files e OVERLEAF_FILESTORE_USER_FILES_BUCKET_NAME só são necessários antes da v6.
Os buckets não devem ser acessíveis publicamente
| | | |
|---|
| Bucket | Uso | Serviço | Anteriormente em /var/lib/overleaf/data |
overleaf-user-files | arquivos de usuário dos projetos | filestore | user_files |
overleaf-template-files | arquivos de template | filestore | template_files |
overleaf-project-blobs | blobs do histórico de projetos | history e filestore somente leitura | history/overleaf-project-blobs |
overleaf-chunks | chunks de histórico | history | history/overleaf-chunks |
Você pode querer/precisar escolher um nome diferente; certifique-se de usar os buckets personalizados em todos os comandos.
A seguir, serão usados placeholders para as credenciais reais:
| Variável de ambiente | Descrição |
|---|
OVERLEAF_FILESTORE_S3_ACCESS_KEY_ID | A chave de acesso/nome de usuário do usuário restrito do serviço filestore. |
OVERLEAF_FILESTORE_S3_SECRET_ACCESS_KEY | A chave secreta/senha do usuário restrito do serviço filestore. |
OVERLEAF_HISTORY_S3_ACCESS_KEY_ID | A chave de acesso/nome de usuário do usuário restrito do serviço history. |
OVERLEAF_HISTORY_S3_SECRET_ACCESS_KEY | A chave secreta/senha do usuário restrito do serviço history. |
O Server CE e o Server Pro precisam apenas de um pequeno conjunto de permissões em cada bucket:
- criar objeto
- obter objeto
- excluir objeto
- listar bucket
Políticas de acesso
Veja como poderia ser uma política para o usuário do filestore:
Veja como poderia ser uma política para o usuário do history:
Visão geral das variáveis
Ao usar o AWS S3
Ao usar uma opção auto-hospedada
Configuração do MINIO
MINIO_ROOT_USER e MINIO_ROOT_PASSWORD são as credenciais root da instância MINIO.
Siga a documentação oficial para obter uma cópia do mc.