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 Notifications

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.

First stage of setup - the servers

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]


  1. Gotify homepage, GitHub, Dodumentation ↩︎

  2. iGotify-Notification-Assist GitHub ↩︎

  3. Proxmox Documentation Gotify ↩︎