Why this Configuration?
- True Data Sovereignty: 100% GDPR-compliant on-premises deployment. You own your configuration and data without vendor lock-in.
- Hardware Agnostic: Optimized and verified across low-power ARM64 SBCs (Raspberry Pi 5) and x86_64 hypervisors (Proxmox VE LXC & VM).
- Engine Freedom: Tested and supported under standard Docker Engine and unprivileged rootless Podman.
- Platform Verification: Tested on Proxmox LXC: docker (stable, 2026-09-14), podman (stable, 2026-09-14); Proxmox VM: docker (stable, 2026-09-14), podman (stable, 2026-09-14).
Quick Start (Standalone Docker Compose)
The snippet below is immediately ready to run in any standard Docker or Podman environment:
services:
ntfy:
image: "binwiederhier/ntfy:latest"
container_name: njorddeploy-ntfy
command:
- serve
environment:
- "TZ=UTC"
- "NTFY_BASE_URL=http://localhost:8077"
- "NTFY_CACHE_FILE=/var/cache/ntfy/cache.db"
- "NTFY_ATTACHMENT_CACHE_DIR=/var/cache/ntfy/attachments"
user: "0:0"
volumes:
- "./data/ntfy/cache:/var/cache/ntfy"
- "data_root/ntfy/server.yml:/etc/ntfy/server.yml:ro"
ports:
- "8077:80"
restart: unless-stopped
networks:
- njorddeploy_net
networks:
njorddeploy_net:
Start the service directly via the command line: docker compose up -d
Configuration & Environment Variables
Key configuration parameters and defaults derived from the NjordDeploy component template:
| Variable | Default Value | Description |
|---|---|---|
NTFY_WEB_PORT |
8077 |
The host port for the ntfy web interface and API. |
TZ |
UTC |
Set the container timezone (e.g., Europe/London, America/New_York). |
NTFY_BASE_URL |
http://localhost:8077 |
The base URL for ntfy, used for generating links in notifications. Change 'localhost' to your server's IP address or domain name, and '8077' to the actual host port if different. |
NTFY_CACHE_FILE |
/var/cache/ntfy/cache.db |
Path to the ntfy cache database file within the container. This should typically point inside the mounted cache volume. |
NTFY_ATTACHMENT_CACHE_DIR |
/var/cache/ntfy/attachments |
Path to the directory for storing attachment caches within the container. This should typically point inside the mounted cache volume. |
Ecosystem & Enterprise Integration
- Reverse Proxy Ingress Ready: Pre-configured for Caddy, Traefik, or Nginx Proxy Manager with automatic Let's Encrypt TLS certificates.
- Zero-Trust Mesh VPN: Seamless integration with WireGuard or Tailscale/Headscale mesh networks for secure remote administration.
- Transactional State Backups: Ready for point-in-time database dumps and container-safe persistent volume freezing.
Effortless Management with NjordDeploy
Deploy, monitor, and update this service with a single click on your own hardware via the NjordDeploy Configurator.