Operação do dia a dia
Volumes e tarefas agendadas no Coolify
Persistent storage para os dados que precisam sobreviver ao deploy e Scheduled tasks para rodar comandos na hora marcada, dentro do contêiner.
- Nível: Intermediário
- Tempo: cerca de 10 minutos
- Atualizado em 12/11/2026
- Por equipe técnica da Hospedagem Segura
Conteúdo do guia
Resposta rápida
No Coolify, o que a aplicação grava dentro do contêiner some no próximo deploy, a não ser que a pasta esteja num volume. Abra a aplicação, entre em Persistent storage, clique em Add Mount, escolha Volume mount e informe em Destination Path a pasta que deve ficar; depois faça Redeploy. Para rodar um comando com hora marcada, use Scheduled tasks > Add Task, com o horário no formato do cron: o comando roda dentro do contêiner.
O painel do Coolify é em inglês. Neste manual, os botões aparecem como estão na tela, em negrito, com a tradução ao lado. Dúvida com algum termo? Veja o glossário do Coolify em português.
Você vai aprender
- Guardar os arquivos da aplicação num volume, para não perder nada no deploy
- Escolher entre os quatro tipos de montagem do Coolify
- Agendar um comando no formato do cron, dentro do contêiner da aplicação
- Entender por que o volume não substitui o backup
Antes de começar
- Uma aplicação publicada no Coolify (publicar pelo Git)
- Saber em que pasta a aplicação grava os arquivos: uploads, cache ou o arquivo de um banco SQLite
Neste guia
Por que a aplicação precisa de volume
Cada deploy cria um contêiner novo a partir da imagem. O que a aplicação gravou no contêiner antigo vai embora com ele: fotos enviadas pelos clientes, arquivos gerados, um banco SQLite. O volume é uma pasta fora do contêiner, no disco da VPS, montada de novo a cada deploy.
- Contêinernasce de novo em cada deploy
- Destination Patha pasta ligada ao volume, como
/app/uploads - Volumefica no disco da VPS
Só fica o que está no Destination Path
Crie um volume
Abra Persistent storage
No painel:
Na aplicação, abra Persistent storage (armazenamento persistente). Sem volumes, a página mostra No persistent storage e o botão Add Mount (adicionar montagem).
Escolha Volume mount
Clique em Add Mount. O menu traz os quatro tipos de montagem. Para guardar os arquivos da aplicação, escolha Volume mount (volume do Docker).
Dica Numa aplicação com Docker Compose, os volumes ficam no próprio arquivo compose.
Informe a pasta em Destination Path
Em Destination Path, escreva o caminho da pasta dentro do contêiner, como
/app/uploads. No Volume mount, o Source Path (origem) é opcional. Salve a montagem.Dica Não sabe a pasta? Procure na documentação da aplicação onde ficam os uploads, o cache ou o arquivo do banco.
Faça o Redeploy
O volume só entra no próximo deploy. Até lá, o alto da página mostra Changes pending (mudanças pendentes). Clique em Redeploy (publicar de novo).
Os quatro tipos de montagem
| Tipo | O que é | Quando usar |
|---|---|---|
| Volume mount | Um volume com nome, criado e guardado pelo Docker. | O caso comum: uploads, cache e arquivos da aplicação. |
| File mount | Um arquivo cujo conteúdo você escreve no painel e o Coolify gerencia. | Arquivo de configuração, como um nginx.conf ou um php.ini. |
| Host file mount | Um arquivo que já existe na VPS, montado sem o Coolify criar nem editar. | Um arquivo que você mantém no servidor. |
| Directory mount | Uma pasta exata da VPS, montada dentro do contêiner. | Ver os arquivos direto no servidor, pelo SSH. |
Volume não é backup
.tar.gz, mas não restaura esse backup pelo painel. Guarde uma cópia fora da VPS.Agende uma tarefa
Scheduled tasks (tarefas agendadas) roda um comando na hora marcada, dentro do contêiner da aplicação. Serve para limpeza, relatórios e o agendador do Laravel.
Abra Scheduled tasks e clique em Add Task
No painel:
Na aplicação, abra Scheduled tasks e clique em Add Task (adicionar tarefa).
Preencha a tarefa e clique em Add Task
A janela New scheduled task (nova tarefa agendada) pede o básico. O exemplo roda um script de limpeza todo dia às 4h.
- 1Name: Um nome que diga o que a tarefa faz (aqui,
Limpar cache). - 2Schedule: Quando rodar, no formato do cron (aqui,
0 4 * * *: todo dia às 4h). Também aceita nomes, comodaily. - 3Command: O comando, sem
docker exec: o Coolify entra no contêiner e roda (aqui,npm run limpar-cache). - 4Add Task: Cria a tarefa, já ligada.
Dica Timeout (seconds) (tempo limite, em segundos) vem com 300. Container só precisa de valor quando o recurso tem mais de um contêiner, como num Docker Compose: informe o nome do serviço.
- 1Name: Um nome que diga o que a tarefa faz (aqui,
O cron tem cinco campos, nesta ordem: minuto, hora, dia do mês, mês e dia da semana. O asterisco quer dizer "qualquer um".
| Expressão | Quando roda | Exemplo de uso |
|---|---|---|
0 4 * * * | Todo dia às 4h | Limpar cache e arquivos temporários |
0 7 * * 1 | Toda segunda-feira às 7h | Gerar o relatório da semana |
* * * * * | Todo minuto | O agendador do Laravel (php artisan schedule:run) |
O horário segue o fuso do servidor
0 4 * * * roda à 1h no horário de Brasília.Laravel: uma tarefa só para o agendador
No Laravel, crie uma única tarefa com o comando php artisan schedule:run e o horário * * * * *. A cada minuto, o Laravel confere a agenda definida no código e roda o que estiver na hora.
Para saber quando uma tarefa falha, ligue o aviso Scheduled task failure nas notificações da equipe.
Como saber se deu certo
A pasta informada em Destination Path continua com os arquivos depois de um Redeploy, e a tarefa aparece em Scheduled tasks, pronta para rodar no horário marcado.
Problemas comuns
Os arquivos sumiram depois do deploy
- Causa provável
- A aplicação grava numa pasta que não é a do Destination Path, ou o deploy rodou antes do volume.
- O que fazer
- Ajuste o Destination Path para a pasta certa e faça Redeploy. O que se perdeu antes do volume não volta.
A tarefa não rodou no horário esperado
- Causa provável
- O fuso do servidor é outro, os campos do cron estão fora de ordem ou a aplicação estava parada.
- O que fazer
- Confira Server timezone e a ordem dos cinco campos. A aplicação precisa estar rodando.
A tarefa falha com comando não encontrado
- Causa provável
- O comando não existe na imagem, ou o recurso tem vários contêineres e Container ficou vazio.
- O que fazer
- Teste o comando no terminal da aplicação antes de agendar. Num Docker Compose, informe o serviço em Container.
Não resolveu? Veja os problemas comuns do Coolify ou abra um chamado na central do cliente.
Fontes e documentação oficial
Coolify é um software de código aberto mantido pelo próprio projeto. Este manual é da Hospedagem Segura, para quem roda o Coolify nas nossas VPS, e foi conferido na versão 4.7.5.
Continue aprendendo
- Bancos e serviçosComo fazer backup do banco de dados no CoolifyBackup agendado do banco pelo painel: frequência em cron, retenção, cópia em armazenamento compatível com S3 e a restauração.Intermediário
- Operação do dia a diaLogs, terminal e monitoramento no CoolifyAs ferramentas para entender o que a aplicação está fazendo: logs, terminal web, healthcheck, limites de CPU e memória e métricas.Intermediário
- Operação do dia a diaDeploy automático, webhooks e rollback no CoolifyDeploy a cada push, webhook manual com segredo, deploy pela API, rollback para uma imagem anterior e prévias de pull request.Intermediário
Rode o Coolify numa VPS da Hospedagem Segura
VPS Linux com acesso root, disco NVMe e IPv4 dedicado a partir de R$ 69,90/mês. Prefere a VPS pronta? No VPS Assistido, o Coolify vem instalado, com o painel no seu domínio, e a equipe ajuda no dia a dia.