Repolode
flohoss

flohoss/gocron

Agendador de tarefas no estilo cron e self-hosted, que define comandos recorrentes de shell em YAML e gerencia as execuções por uma interface web.

Alternativa open source a:Windows Task Scheduler

Estrelas
627
Forks
23
Issues abertas
2
Último commit
há 16 dias

O que é?

O GoCron executa comandos de shell em horários definidos por cron. Os jobs, seus agendamentos, variáveis de ambiente, timeouts e novas tentativas são declarados em um único arquivo YAML, e as alterações nesse arquivo são aplicadas sem reiniciar o container. Cada job tem seu próprio ambiente, com expansão de ${VAR} nos comandos e valores por job que prevalecem sobre os padrões compartilhados.

A interface web, feita com Vue.js, permite visualizar jobs, iniciar execuções manualmente, ler logs e usar um terminal isolado. O histórico de execuções e os logs são armazenados em SQLite, e a saída das execuções é transmitida ao navegador por Server-Sent Events. Os recursos opcionais incluem callbacks HTTP de verificação de integridade no início, no fim e em caso de falha do job, limitação de taxa por IP, suporte a proxy reverso confiável e single sign-on com OIDC.

A imagem Docker pode instalar, na inicialização e em imagens baseadas em Debian, ferramentas comuns de backup e container, como restic, rclone, borgbackup e rsync.

Recursos principais

  • 01Defina jobs, agendamentos cron e variáveis de ambiente em um único arquivo YAML.
  • 02Expressões cron padrão de 5 campos, com herança de valores padrão entre jobs.
  • 03Timeouts e novas tentativas por comando, com opção para continuar em caso de falha.
  • 04Interface web para visualizar jobs, iniciar execuções e ler logs.
  • 05Histórico de execuções persistido em SQLite, com retenção configurável.
  • 06Callbacks HTTP de verificação de integridade no início, no fim e em caso de falha do job.
  • 07Single sign-on opcional com OIDC e limitação de taxa por IP.

Casos de uso

  • Agendar backups noturnos com restic, rclone ou borgbackup em um host Docker.
  • Executar scripts periódicos de manutenção em um servidor doméstico e consultar logs pelo navegador.
  • Enviar pings de heartbeat para um serviço de monitoramento, para que execuções perdidas gerem alertas.

Início rápido

  1. 1

    Execute o contêiner com Docker (uma configuração padrão é criada na primeira inicialização)

    docker run -it --rm --name gocron -p 8156:8156 -v ./config/:/app/config/ ghcr.io/flohoss/gocron:latest
  2. 2

    Abra http://localhost:8156 no navegador para ver as tarefas e os logs

  3. 3

    Ou use o Docker Compose com a definição de serviço fornecida

Antes de usar

  • A instalação de software pelo bloco software está disponível somente no Debian.

Em coleções

Tópicos

Perguntas frequentes

O que é gocron?
Agendador de tarefas no estilo cron e self-hosted, que define comandos recorrentes de shell em YAML e gerencia as execuções por uma interface web. O GoCron executa comandos de shell em horários definidos por cron. Os jobs, seus agendamentos, variáveis de ambiente, timeouts e novas tentativas são declarados em um único arquivo YAML, e as alterações nesse arquivo são aplicadas sem reiniciar o container. Cada job tem seu próprio ambiente, com expansão de ${VAR} nos comandos e valores por job que prevalecem sobre os padrões compartilhados.
gocron é gratuito? Qual é a licença?
gocron é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
gocron ainda é mantido?
Manutenção ativa. O último commit de gocron foi em 23 de out. de 2026.
Para que posso usar gocron?
Agendar backups noturnos com restic, rclone ou borgbackup em um host Docker. Executar scripts periódicos de manutenção em um servidor doméstico e consultar logs pelo navegador. Enviar pings de heartbeat para um serviço de monitoramento, para que execuções perdidas gerem alertas.
Como instalar gocron?
Execute o contêiner com Docker (uma configuração padrão é criada na primeira inicialização): docker run -it --rm --name gocron -p 8156:8156 -v ./config/:/app/config/ ghcr.io/flohoss/gocron:latest Abra http://localhost:8156 no navegador para ver as tarefas e os logs Ou use o Docker Compose com a definição de serviço fornecida
Onde consigo gocron?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/flohoss/gocron

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados