Die Installation Konfiguration.
Einen Proxmox CT mit Ubuntu 24.04 LTS erstellen.
Zeitzone einstellen:
dpkg-reconfigure tzdata
Zurückgehaltene Updates installieren
nano /etc/apt/apt.conf.d/99-Phased-Updates
Dort dann folgende Zeile eintragen:
Update-Manager::Always-Include-Phased-Updates true;
APT::Get::Always-Include-Phased-Updates true;
Update durchführen:
apt update && apt dist-upgrade -y && apt autoremove && apt autoclean -y && systemctl reload postfix
Installation CURL und GPG
apt install curl gpg -y
Installation ntfy
mkdir -p /etc/apt/keyrings
curl -fsSL https://archive.heckel.io/apt/pubkey.txt | gpg --dearmor -o /etc/apt/keyrings/archive.heckel.io.gpg
apt install apt-transport-https
sh -c "echo 'deb [arch=amd64 signed-by=/etc/apt/keyrings/archive.heckel.io.gpg] https://archive.heckel.io/apt debian main' \ > /etc/apt/sources.list.d/archive.heckel.io.list"
apt update
apt install ntfy
systemctl enable ntfy
systemctl start ntfy
Ab hier solltet ihr schon mit der entsprechenden IP-Adresse die Oberfläche aufrufen können, also http://ipadresse-vom-container
Nun passen wir die server.yml an, damit ntfy aus dem Internet erreichbar ist und nur berechtige Benutzer darauf zugreifen können. Die Option enable-signup: true sollte man deshalb deaktivieren wenn man sein(e) Benutzer angelegt hat. Jede Veränderung wird erst nach systemctl restart ntfy
wirksam.
Umbenennen der server.yml da wir eine neue erstellen
cd /etc/ntfy/
mv server.yml server.yml.back
Neue server.yml erstellen
nano server.yml
Das einfügen und an seine Bedürfnisse anpassen, wer HTTPS ohne Zertifikate aktiviert, hat keinen Zugriff.
Die “xxxxx” durch den Namen der verwendeten URL ersetzen.
Also zum Beispiel “https://xxxxx.de” “https://technik22.de” und “/etc/letsencrypt/live/xxxxx.key” “/etc/letsencrypt/live/technik22.key” und so weiter.
#Erreichbarkeit (http)
base-url: "https://xxxxx.de"
listen-http: ":80"
#Erreichbarkeit (https)
# listen-https: ":443"
# key-file: "/etc/letsencrypt/live/xxxxx.key"
# cert-file: "/etc/letsencrypt/live/xxxxx.crt"
#Erreichbarkeit aus dem Internet (Proxy)
behind-proxy: true
#Login Anmelden Benutzer
auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"
#Registrierungen ermöglichen
enable-signup: true
#Anmelden ermöglichen
enable-login: true
#Cache-Datei
cache-file: "/var/cache/ntfy/cache.db"
cache-duration: "24h"
# Wenn diese Option aktiviert ist, können Benutzer Dateien als Anhänge an Benachrichtigungen anhängen. Mindesteinstellungen zur Aktivierung von Anhängen
attachment-cache-dir: "/var/cache/ntfy/attachments"
attachment-total-size-limit: "5G"
attachment-file-size-limit: "15M"
attachment-expiry-duration: "24h"
Datei speichern STRG+S und beenden STRG+X
systemctl restart ntfy
Nun den Nginx-Proxy-Manager und seine Weiterleitung eintragen.
Nun sollte man über seine URL auf ntfy zugreifen können und oben Rechts hat man nun die Möglichkeit sich anzumelden und einen neuen Benutzer zu erstellen.
Wenn man seinen Benutzer erstellt hat, dann sollte man in der server.yml die Option Registrierungen ermöglichen wieder deaktivieren.
#Registrierungen ermöglichen
#enable-signup: true
Datei speichern STRG+S und beenden STRG+X
systemctl restart ntfy
Nun sollte sich kein neuer Nutzer registrieren können.
Nun den erstellen Benutzer die passende Rolle zuweisen…
Benutzer verwalten:
Neuen Benutzer erstellen:
ntfy user add [username]
Admin-Benutzer erstellen:
ntfy user add –role=admin [username]
Zeige Benutzer:
ntfy user list
Benutzerrollen ändern:
ntfy user change-role [username] [role]
Benutzerpasswort zurücksetzen:
ntfy user change-pass [username]
Benutzer löschen:
ntfy user del [username]
Ich habe diesen einfach zum Admin gemacht…
ntfy user change-role [username] [admin]
Damit sollte jetzt ntfy aus dem Internet erreichbar sein und es sollte nur der erstellte Benutzer sich anmelden können. Ein neuer User sollte sich nicht anmelden können.