CoreOps é um sistema leve de monitoramente de uptime construido com FastAPI, Celery, Redis e PostgresQL.
O projeto inclui um dashboard web simples para gerenciar monitores, visualizar histórico de execuções e controlar o comportamento dos alertas
- Monitoramente de endpoints HTTP
- Alerta por Email com templates HTML
- Alerta via webhook do Discord
- Pausar / retomar monitores
- Dashboard com atualizaçôes em tempo real
- Histórico de execução por monitor
- Autenticação com login baseado em sessão
- Proteção CSRF
- Processamento em bachground com Celery
- Execução agendada com Celery Beat
- Ambiente de desenvolvimento baseado em docker
Backend
- FastAPI
- SQLAlchemy
- Alembic
- Celery
- Redis
- PostgreSQL
Frontend
- Jinja2 template
- HTMX
- Vanilla CSS
User → FastAPI API → PostgreSQL │ Celery Worker │ Celery Beat → Scheduler │ Redis (broker)
API
- Aplicação FastAPI
- Autenticação
- Renderização do dashboard
- Criação e gerenciamento de monitores
Worker
- Executa jobs de monitoramento
- Envia alertas
Beat
- Scheduler que dispara verificações
Redis
- Broker de mensagens para Celery
postgreSQL
- Armazena monitores
- Armazena histórico de execuções
git clone https://github.com/only-dpp/coreops.git
cd coreopscp .env.example .envEdite o .env e configure seus valores.
Campos importantes:
SMTP_USERSMTP_PASSADMIN_EMAILADMIN_PASSWORD
docker compose up -d --buildIsso iniciará:
- API
- WORKER
- Beat Scheduler
- Redis
- postgreSQL
docker compose exec api alembic upgrade headAbra:
http://localhost:8000/loginLogin com as credenciais definidas em .env
No dashboard
- Clique em New Monitor
- Informe:
- Nome
- URL
- Intervalo
- Canal de alerta
- Salve
O monitor começará a rodar automaticamente.
Informe a URL do webhook:
https://discord.com/api/webhook/...Configure o SMTP no .env
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your-email@gmail.com
SMTP_PASS=your-app-passwordcoreops
│
├── app
│ ├── api
│ ├── core
│ ├── db
│ ├── templates
│ ├── static
│ └── web
│
├── docker-compose.yml
├── pyproject.toml
├── alembic.ini
└── .env.exampleEste projeto inclui camadas básicas de segurança:
- Autenticação baseada em sessão
- Hashing de senhas
- Proteção CSRF
- Configuração via variáveis de ambiente
MIT License