Proxmox Notifications
Proxmox Notifications uses Gotify. Gotify can run on many platforms, we use Docker and iPhone. Quick notifications are essential when things goes sideways and servers crash but also when a backup fails. #gotify #igotify #proxmox
Proxmox 8.1 brought us many nice things. Today I will discuss Gotify Notification. Gotify can run on many platforms, but today I address Docker and iPhone. Quick notifications are essential when things go sideways and servers crash, but also when a backup fails.
Proxmox new extended Notification can handle notifications in a good way with a lot of customization.
Gotify is an impressive app for handling notification in many ways. Browser and Android on its own, but you need iGotify for iPhone/iPad. I have so far install it on 3 Proxmox clusters and in the future it's my go-to method. Only had problems on the last one, messed up the tokens đĨ.
Notifications
The section has two parts, Targets and Matches. You can set up all kinds of alarms in here. Send a notification on only errors or on any combination you require.
Gotify
Let's start with some definitions:
- A client is a device or application that can manage clients, messages, and applications. However, a client is not allowed to send messages.
- An application is a device or application that only can send messages.
- Users are only able to manage (view/edit/delete) clients and applications (includes messages sent by the app) that they've created.
- A message has the following attributes: content, title, creation date, application ID and priority.
I use iGotify on my iPhone to receive critical alerts and email for non-critical stuff.
Install Gotify & iGotify-Notification-Assist
Use a Docker compose.yml or go to your Dockge and startup a container with the Gotify Server. Here I use a Docker network, my_net.
version: "3.8"
services:
gotify:
image: gotify/server
container_name: gotify
#expose:
# - 80 # use nginx
ports:
- 8680:80 # local accesss only
environment:
- GOTIFY_DEFAULTUSER_PASS=aVeryStrongComplicatedPassword # Change it
- TZ=Europe/Berlin
restart: unless-stopped
volumes:
- gotify-data:/app/data
networks:
- my_net
igotify-notification: # (iGotify-Notification-Assistent)
image: ghcr.io/androidseb25/igotify-notification-assist:latest
container_name: gotify
pull_policy: always
restart: unless-stopped
#expose: 8080 use nginx
ports:
- 8681:8080 # local accesss only
environment:
- IGOTIFY_CLIENT_TOKEN="<CLIENT_TOKEN>"
# create a client in gotify an add here the client token
- GOTIFY_SERVER_URL="http://gotify"
# default container name from gotify server
volumes:
- igotify-notification-data:/app/data
networks:
- my_net
volumes:
gotify-data:
igotify-notification-data:
networks:
my_net:
external: true
đ Set your Time Zone
â ī¸ Use an .env file for security reasons!
- GOTIFY_DEFAULTUSER_PASS=${GOTIFY_DEFAULTUSER_PASS}
- in the .env file, set the password to use
- đ Use a Very Strong and Complicated Password
- IGOTIFY_CLIENT_TOKEN=${IGOTIFY_CLIENT_TOKEN}
- in the .env file, set the token to use
- GOTIFY_SERVER_URL=${GOTIFY_SERVER_URL}
- in the .env file set the internal URL
After initial startup
Set up your user and key. Add an api key (A client manages messages, clients, applications, and users (with admin permissions)). Then Re-edit in Dockge (or both files) and restart. If you do it as admin, you need to use admin on iPhone too.
For security reasons, my user is without admin privileges (but can be set to admin when updates are needed).
Set up your reverse proxy
Set up NPM to have your address diverted to the Gotify container, and make the needed change in Dockge (or the compose file).
Please don't call it gotify or igotify use your imagination.
SOURCE | DESTINATION | PORT |
---|---|---|
gotify.example.com | http://gotify | 80 |
expose:
- 80 # use nginx
#ports:
# - 8680:80 # local accesss only
Install iGotify on iPhone
Go to app store and install, then do a setup. Download from App Store.
Then add the user (use password from Gotify and make sure the key is set) and accept the device.
Updating
The igotify-notification app needs to be updated simultaneously with the iOS app.
References
Gotify [1] iPhone app [2] Proxmox Docs [3]