ntfy
Deploy ntfy on Kubernetes using the official binwiederhier/ntfy container image. ntfy is a simple HTTP-based pub-sub notification service that lets you send push notifications to your phone or desktop via scripts, without signup or cost.
Key Features
- REST API & WebSocket — publish and subscribe to topics via simple HTTP PUT/POST or WebSocket
- Firebase & UnifiedPush — supports Android push delivery through FCM and UnifiedPush
- Prometheus Metrics — optional
/metricsendpoint with ServiceMonitor support - Behind-Proxy Mode — trusts
X-Forwarded-Forheaders for correct client identification - Attachment Support — configurable file attachment size and expiry limits
- Persistence — persistent storage for cache and authentication databases
Installation
HTTPS repository:
helm repo add helmforge https://repo.helmforge.dev
helm repo update
helm install ntfy helmforge/ntfy
OCI registry:
helm install ntfy oci://ghcr.io/helmforgedev/helm/ntfy
Basic Example
# values.yaml
ntfy:
baseUrl: 'https://ntfy.example.com'
behindProxy: true
enableMetrics: true
persistence:
enabled: true
size: 2Gi
ingress:
enabled: true
ingressClassName: traefik
hosts:
- host: ntfy.example.com
paths:
- path: /
pathType: Prefix
Key Values
| Key | Default | Description |
|---|---|---|
ntfy.baseUrl | "" | Public base URL of the instance |
ntfy.behindProxy | true | Trust X-Forwarded-For headers |
ntfy.enableMetrics | false | Enable Prometheus metrics endpoint |
ntfy.authDefaultAccess | read-write | Default access for unauthenticated users |
ntfy.attachmentTotalSizeLimit | "" | Attachment total size limit per visitor |
persistence.enabled | true | Enable persistent storage |
persistence.size | 2Gi | PVC size |
ingress.enabled | false | Enable ingress |