Sistema de On Call scheduling.
URL: https://goalert.me/ Github: https://github.com/target/goalert
Podemos usar o Twilio para notificações
Usa o Postgres
Notas
Exemplo de chamada para criar alerta
Doc sobre: https://goalert.me/docs/alerting/alerting-from-generic-api/
curl -X POST -v "https://go-alert-domain/api/v2/generic/incoming?token=91e6cca7-8dd0-4c9f-b77d-de10110fb833&summary=test-2&details=testing-2"
Execução local
.env de exemplo
POSTGRES_USER=myuser
POSTGRES_PASSWORD=mypassword
POSTGRES_DB=mydatabase
GOALERT_PUBLIC_URL=http://localhost:8081
GOALERT_DB_URL=postgresql://myuser:mypassword@postgres:5432/mydatabase
Dockerfile
FROM goalert/goalert:nightly AS builder
COPY . .
EXPOSE 8080
RUN addgroup -S nonroot-group && adduser -S nonroot -G nonroot-group && chown nonroot:nonroot-group .
USER nonroot
ENTRYPOINT [ "goalert" ]
Docker compose
version: "3.9"
services:
goalert:
build:
context: .
restart: always
container_name: goalert
networks:
- goalert
ports:
- 8081:8081
env_file:
- .env
postgres:
image: postgres:16.1
restart: always
container_name: postgres
networks:
- goalert
ports:
- 5432:5432
env_file:
- .env
volumes:
- postgres:/var/lib/postgresql/data
volumes:
postgres:
driver: local
networks:
goalert:
driver: bridge
Adicionar usuário
Entrar na imagem docker rodando:
docker exec -it goalert sh
goalert add-user --db-url $GOALERT_DB_URL --admin --user admin --email admin@example.com
Mais sobre aqui: https://github.com/target/goalert/blob/master/docs/getting-started.md