- Documentação
- Serviços
- Armazenamento Persistente
Armazenamento Persistente
Por padrao, os dados dentro de um container sao efemeros — eles sao perdidos quando o servico e reiniciado ou um novo deploy e feito. Volumes persistentes resolvem esse problema, permitindo que dados sejam preservados entre reinicializacoes e deploys.
O que sao volumes persistentes nomeados?
Volumes persistentes nomeados sao espacos de armazenamento em disco por projeto que podem ser anexados a um servico. Diferente do sistema de arquivos do container, os dados em um volume nomeado sobrevivem a:
- Reinicializacoes do servico
- Novos deploys
- Atualizacoes de imagem
- Desanexar de um servico e anexar a outro servico no mesmo projeto
Use volumes persistentes para armazenar dados como arquivos de upload, bancos de dados embarcados (SQLite), caches em disco ou qualquer dado que precise persistir.
Criando e vinculando um volume
- Acesse a pagina do servico no dashboard
- Va ate a aba Armazenamento
- Clique em Novo Volume
- Defina o tamanho do volume (em GB)
- Defina o caminho de montagem — o diretorio dentro do container onde o volume sera acessivel (por exemplo,
/dataou/app/uploads) - Clique em Criar
O volume sera criado e vinculado ao servico. Um novo deploy sera iniciado automaticamente para montar o volume.
Voce tambem pode criar e gerenciar volumes nomeados pela CLI:
guara volumes create --name uploads --size 1Gi
guara volumes attach uploads --service api --mount-path /data
guara volumes move uploads --service api-v2 --mount-path /data
guara volumes resize uploads --size 5Gi
guara volumes health uploads
guara volumes backups uploads
Caminho de montagem
O caminho de montagem define onde o volume aparece dentro do container. Sua aplicacao acessa os dados do volume como se fossem arquivos normais nesse diretorio.
Exemplos comuns:
| Uso | Caminho sugerido |
|---|---|
| Banco de dados SQLite | /data |
| Arquivos de upload | /app/uploads |
| Cache em disco | /app/cache |
| Logs persistentes | /var/log/app |
Limites por plano
| Recurso | Hobby | Pro | Business | Enterprise |
|---|---|---|---|---|
| Volumes por projeto | 1 | 3 | 5 | 50 |
| Tamanho maximo por volume | 1 GB | 5 GB | 10 GB | 50 GB |
| Armazenamento total | 1 GB | 8 GB | 25 GB | 500 GB |
Consideracoes importantes
- Um anexo por vez. Um volume nomeado pode estar anexado a apenas um servico por vez.
- Redimensionamento. Voce pode aumentar o tamanho de um volume, mas nao pode reduzi-lo.
- Volumes portateis. Novos volumes nomeados podem ser desanexados, movidos, redimensionados, renomeados e excluidos quando o estado atual permite.
- Volumes legados protegidos. Volumes importados de servicos podem ser renomeados e redimensionados, mas nao podem ser movidos, desanexados ou excluidos pela CLI.
- Exclusao. Excluir um volume portatil e separado de excluir um servico. Desanexe ou mova armazenamento deliberadamente antes de excluir dados.
- Replicas. Volumes persistentes sao compartilhados entre as replicas do mesmo servico. Certifique-se de que sua aplicacao lida corretamente com acesso concorrente.