Ntfy — Setup
Push notification relay. Runs on LXC 119 (infra-apps) at 192.168.1.119, port 2586. Topic-based pub/sub — any service can publish messages and any client can subscribe. No authentication configured; topics are open. Available at https://ntfy.eva-00.network.
Infrastructure
| Host | LXC ID | Port | URL |
|---|---|---|---|
| infra-apps | 119 | 2586 | https://ntfy.eva-00.network |
Single Docker container with file-based cache. No database required.
Observability
Logs
Ntfy logs are collected via Grafana Alloy Docker discovery and shipped to Loki.
| Query | Purpose |
|---|---|
{container="ntfy"} |
All container output |
{container="ntfy"} \|= "error" |
Errors only |
{container="ntfy"} \|= "publish" |
Published messages |
Access: Grafana → Explore → Loki → Enter query
Health
curl http://192.168.1.119:2586/v1/health
Metrics
Ntfy does not export Prometheus metrics by default. Use Loki logs and the health endpoint to diagnose issues.
IaC
| Artifact | Path |
|---|---|
| Playbook | ansible/playbooks/infra-apps.yml |
| Workflow | .forgejo/workflows/infra-apps.yml |
| Compose | services/ntfy/docker-compose.yml |
| Config | services/ntfy/server.yml |
Secrets
No secrets. Ntfy uses open topic-based pub/sub with no authentication configured.
Config overview
Key settings in services/ntfy/server.yml:
| Setting | Value | Purpose |
|---|---|---|
base-url |
https://ntfy.eva-00.network |
Public URL for the instance |
upstream-base-url |
https://ntfy.sh |
Enables iOS/Android push relay via ntfy.sh |
behind-proxy |
true |
Running behind Caddy reverse proxy |
Cache is stored in /var/cache/ntfy/cache.db inside the container (Docker volume).
Subscribing on your phone
- Install the Ntfy app (iOS / Android)
- Open the app, tap Add server (or the settings icon)
- Enter server URL:
https://ntfy.eva-00.network - Subscribe to a topic (e.g.
mediabot) - You will now receive push notifications when messages are published to that topic
Publishing a message
curl -d "Download complete" https://ntfy.eva-00.network/mediabot
Any service can publish to any topic — just change the topic name in the URL path. See reference.md for full API examples (priority, tags, actions, attachments).