Gotify
1. Description
2. Installation
2.1. Installer le binaire gotify
- Télécharger la dernière version de
gotify
$ wget https://github.com/gotify/server/releases/download/v2.6.3/gotify-linux-amd64.zip
- Ajouter un utilisateur
gotify
$ sudo mkdir -p /opt/gotify/data
$ sudo adduser --system --home-dir /opt/gotify --shell /sbin/nologin gotify
$ sudo chown -R gotify:gotify /opt/gotify
$ sudo mkdir /var/log/gotify
$ sudo chown gotify /var/log/gotify
- Décompresser et changer les permissions de
gotify
$ unzip gotify-linux-amd64.zip
$ chmod +x gotify-linux-amd64
$ sudo mv gotify-linux-amd64 /opt/gotify/gotify-linux-adm64
2.2. Configurer gotify
- Créer le fichier
/opt/gotify/config.yml
server:
keepaliveperiodseconds: 0
listenaddr: '127.0.0.1'
port: 8080
ssl:
# if https should be enabled
enabled: false
# redirect to https if site is accessed by http
redirecttohttps: true
listenaddr: ''
port: 8443
certfile: '/etc/pki/tls/certs/notif1.home.lab.pem'
certkey: '/etc/pki/tls/private/notif1.home.lab.key'
letsencrypt:
enabled: false
cors:
alloworigins:
# - ".+.example.com"
# - "otherdomain.com"
allowmethods:
# - "GET"
# - "POST"
allowheaders:
# - "Authorization"
# - "content-type"
stream:
# the interval in which websocket pings will be sent.
pingperiodseconds: 45
# allowed origins for websocket connections
# (same origin is always allowed, default only same origin)
allowedorigins:
# - ".+.example.com"
# - "otherdomain.com"
database:
dialect: sqlite3
connection: /opt/gotify/data/gotify.db
defaultuser:
name: admin
pass: admin
# the bcrypt password strength (higher = better but also slower)
passstrength: 10
# the directory for storing uploaded images
uploadedimagesdir: /opt/gotify/data/images
# the directory where plugin resides (leave empty to disable plugins)
pluginsdir: /opt/gotify/data/plugins
# enable registrations
registration: false
- Changer les permissions du fichier de config
$ sudo chmod go-rw /etc/gotify/config.yml
2.3. Créer un certificat
$ sudo ipa-getcert request \
-f /etc/pki/tls/certs/notif1.home.lab.pem \
-k /etc/pki/tls/private/notif1.home.lab.key \
-K host/notif1.home.lab \
-N "CN=notif1.home.lab" \
-D notif1.home.lab \
-D notif1
$ sudo chmod a+r /etc/pki/tls/certs/notif1.home.lab.pem
$ sudo chown gotify /etc/pki/tls/private/notif1.home.lab.key
2.4. Configurer les règles de firewall
$ sudo firewall-cmd --permanent --add-port=8443/tcp
$ sudo firewall-cmd --reload
2.5. Créer un script de démarrage
- Créer le fichier
/opt/gotify/gotify.service
[Unit]
Description=Gotify
Requires=network.target
After=network.target
[Service]
Type=simple
User=gotify
WorkingDirectory=/opt/gotify
ExecStart=/opt/gotify/gotify-linux-adm64
StandardOutput=append:/var/log/gotify/gotify.log
StandardError=append:/var/log/gotify/gotify-error.log
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
- Changer les permissions SELinux du binaire
$ sudo semanage fcontext -a -t bin_t "/opt/gotify/gotify-linux-amd64"
$ sudo restorecon -v /opt/gotify/gotify-linux-amd64
- Activer le service
gotify
$ sudo ln -s /opt/gotify/gotify.service /etc/systemd/system/gotify.service
$ sudo systemctl daemon-reload
$ sudo systemctl enable --now gotify
3. Utilisation de gotify
- Ouvrir l'URL https://notif1.home.lab:8443/

- Créer un utilisateur
