Mit ntfy.sh können Sie Push Benachrichtigungen ohne jegliche Google Services zu Ihren Telefonen (bspw. Graphene OS basiert) oder PCs via Skript, cli oder Web mittels HTTP PUT- oder POST- Anfragen senden bzw. an den registrierten Geräten empfangen.
Quelle: ntfy.sh
Verbinden Sie sich dazu per SSH zu Ihrem Server und folgen den nachfolgenden Anweisungen:
sudo -s
mkdir -p /var/opt/docker/ntfy
cd /var/opt/docker/ntfy
nano docker-compose.yaml
services:
ntfy:
image: binwiederhier/ntfy
command: serve
environment:
NTFY_BASE_URL: "https://ntfysh.ihredomain.de"
NTFY_BEHIND_PROXY: "true"
NTFY_AUTH_FILE: "/var/lib/ntfy/auth.db"
NTFY_CACHE_FILE: "/var/cache/ntfy/cache.db"
NTFY_CACHE_DURATION: "1d"
volumes:
- /var/cache/ntfy:/var/cache/ntfy
- /var/lib/ntfy:/var/lib/ntfy
ports:
- "8180:80"
restart: unless-stopped
NTFY bietet weitere Informationen sowie einen Configurator an, mit dessen Hilfe sich weitere Konfigurations- und Härtungsmassnahmen umsetzen lassen » hier
Starten Sie den Docker und analysieren im Log den erfolgreichen Start:
docker compose up -d
Starten Sie den Docker und analysieren im Log den erfolgreichen Start:
docker logs -f ntfy-ntfy-1
Nun erweitern wir den ReverseProxy/Webserver (nginx) um den ntfy-vHost. Passen Sie die http.conf um die ntfy-Domäne an:
nano /etc/nginx/conf.d/http.conf
[...]
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name bestehende.ihredomain.de ntfysh.ihredomain.de;
root /var/www;
[...]
Erstellen Sie den neuen vHost für die ntfy-Domäne:
nano /etc/nginx/conf.d/ntfy.ihredomain.de.conf
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name ntfysh.ihredomain.de;
ssl_certificate /etc/letsencrypt/rsa-certs/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/rsa-certs/privkey.pem;
ssl_certificate /etc/letsencrypt/ecc-certs/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/ecc-certs/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/ecc-certs/chain.pem;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:50m;
ssl_session_tickets off;
ssl_protocols TLSv1.3 TLSv1.2;
ssl_ciphers 'TLS-CHACHA20-POLY1305-SHA256:TLS-AES-256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA>
# ssl_ecdh_curve X448:secp521r1:secp384r1;
ssl_ecdh_curve X25519MLKEM768:X25519:prime256v1;
ssl_prefer_server_ciphers on;
client_max_body_size 1G;
client_body_timeout 86400s;
client_body_buffer_size 512k;
fastcgi_buffers 64 4K;
gzip on;
gzip_vary on;
gzip_comp_level 4;
gzip_min_length 256;
gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;
gzip_types application/atom+xml text/javascript application/javascript application/json application/ld+json applica>
add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;
add_header Permissions-Policy "interest-cohort=()";
add_header Referrer-Policy "no-referrer" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-Download-Options "noopen" always;
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Permitted-Cross-Domain-Policies "none" always;
add_header X-Robots-Tag "noindex, nofollow" always;
add_header X-XSS-Protection "1; mode=block" always;
location / {
proxy_set_header Connection "";
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:8180;
proxy_buffering off;
proxy_buffer_size 4k;
proxy_buffers 64 4k;
proxy_read_timeout 86400s;
proxy_send_timeout 86400s;
}
}
Erweitern Sie das Zertifikat um die neue ntfy-Domain (ntfysh.ihredomain.de):
su - acmeuser
acme.sh --issue -d bestehend.ihredomain.de -d ntfysh.ihredomain.de --server letsencrypt --keylength 4096 -w /var/www/letsencrypt --key-file /etc/letsencrypt/rsa-certs/privkey.pem --ca-file /etc/letsencrypt/rsa-certs/chain.pem --cert-file /etc/letsencrypt/rsa-certs/cert.pem --fullchain-file /etc/letsencrypt/rsa-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
acme.sh --issue -d bestehend.ihredomain.de -d ntfysh.ihredomain.de --server letsencrypt --keylength ec-384 -w /var/www/letsencrypt --key-file /etc/letsencrypt/ecc-certs/privkey.pem --ca-file /etc/letsencrypt/ecc-certs/chain.pem --cert-file /etc/letsencrypt/ecc-certs/cert.pem --fullchain-file /etc/letsencrypt/ecc-certs/fullchain.pem --reloadcmd "sudo /bin/systemctl reload nginx.service"
exit
Starten Sie den Webserver (nginx) neu
systemctl restart nginx.service
Rufen Sie ihre ntfy-Domain auf » https://ntfysh.ihredomain.de

Ab sofort können Pushbenachrichtigungen von Anwendungen wie bspw.
- ntfy.sh via f-droid
- Nextcloud Talk
(≥ Nextcloud Server 34 (Konfigurationshinweise beachten!), ≥ Nextcloud Talk 24.0.2 via f-droid) - Tusky (Mastodon client) via f-droid
- DAVx5 via f-droid
- molly.im/Signal Fork
Anleitung für den notwendigen mollysocket: hier - eigene Pushbenachrichtigungen
über ihren ntfy-Server gesendet und empfangen werden. Dabei lassen sich auch eigene Nachrichten beliebig gestalten und mit Emojis an registrierte Geräte senden.

