69 lines
1.7 KiB
YAML
69 lines
1.7 KiB
YAML
# Alerting Stack for Homelab
|
|
|
|
services:
|
|
alertmanager:
|
|
image: prom/alertmanager:latest
|
|
container_name: alertmanager
|
|
restart: unless-stopped
|
|
ports:
|
|
- "9093:9093"
|
|
volumes:
|
|
- ./alertmanager:/etc/alertmanager
|
|
- alertmanager-data:/alertmanager
|
|
command:
|
|
- '--config.file=/etc/alertmanager/alertmanager.yml'
|
|
- '--storage.path=/alertmanager'
|
|
- '--web.external-url=http://localhost:9093'
|
|
networks:
|
|
- monitoring-stack_default
|
|
- signal-api-stack_default
|
|
- ntfy-stack_default
|
|
|
|
signal-bridge:
|
|
build: ./signal-bridge
|
|
container_name: signal-bridge
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5000:5000"
|
|
environment:
|
|
- SIGNAL_API_URL=http://signal-api:8080
|
|
- SIGNAL_SENDER=+REDACTED_PHONE_NUMBER
|
|
- SIGNAL_RECIPIENTS=+REDACTED_PHONE_NUMBER
|
|
networks:
|
|
- monitoring-stack_default
|
|
- signal-api-stack_default
|
|
healthcheck:
|
|
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5000/health')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
ntfy-bridge:
|
|
build: ./ntfy-bridge
|
|
container_name: ntfy-bridge
|
|
restart: unless-stopped
|
|
ports:
|
|
- "5001:5001"
|
|
environment:
|
|
- NTFY_URL=http://NTFY:80
|
|
- NTFY_TOPIC="REDACTED_NTFY_TOPIC"
|
|
networks:
|
|
- monitoring-stack_default
|
|
- ntfy-stack_default
|
|
healthcheck:
|
|
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:5001/health')"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
volumes:
|
|
alertmanager-data:
|
|
|
|
networks:
|
|
monitoring-stack_default:
|
|
external: true
|
|
signal-api-stack_default:
|
|
external: true
|
|
ntfy-stack_default:
|
|
external: true
|