[Tuto] Installation de Gotify en Docker

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 159
1 563
278
/var/run/docker.sock
Bonjour,
Voici un tuto, pour ceux qui souhaiterai installer Gotify en Docker.

CM2Yq4S.png

Gotify c'est quoi ? :giggle:
Gotify est un serveur simple pour envoyer et recevoir des messages (en temps réel par WebSocket). Il est open source et peut être auto-hébergé.

Retrouvez plus d'informations ici : Github Officiel


Disclamer :
Le but de ce tuto sera de rendre cette installation facile et accessible a tous, bien que loin d’être un expert de docker/docker compose, n’hésiter pas à répondre à ce sujet avec vos interrogations, .. Pour ceux qui sont plus a l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Pour un support sur Gotify ne concernant pas une installation via ce tutoriel, merci de poster votre question dans Applications.



Sommaire :
1/ Créer les dossiers nécessaires
2/ Le fichier "docker-compose.yml"
3/ Création et démarrage du conteneur
4/ 1ère connexion
5/ Accès HTTPS ( Optionnel )


Aller go :)


1/ Créer les dossiers nécessaires
Sur le NAS nous allons devoir créer un dossier gotifycontenant un dossier config ce dernier contiendra tous les fichiers de configuration nécessaire au fonctionnement du conteneur Gotify.

En SSH, avec la commande cd nous allons accéder au dossier ou vous souhaitez installer les fichiers de configuration du conteneur. Dans mon cas c'est /home/tuto/docker, j’exécute donc la commande suivante pour accéder au dossier docker :

cd /home/tuto/docker

Vous pouvez aussi créer le dossier gotify, contenant un dossier config avec cette commande : mkdir -p gotify/config

Ensuite, avec la commande cd gotify, rendez-vous dans le dossier principal de Gotifyque nous venons de créer.

Note : A partir de maintenant, toutes les commandes du tutoriel partirons du principe que vous les exécuter depuis le dossier /gotify




2/ Le fichier "docker-compose.yml"

Nous allons maintenant créer le fichier docker-compose.yml, c'est lui qui contiendra la configuration de notre conteneur.

Pour le créer nous exécutons la commande suivante : nano docker-compose.yml

L'éditeur s'ouvre, dedans nous allons copier/coller le code suivant :
Code:
version: "2"

services:
  gotify:
    image: ghcr.io/gotify/server
    container_name: gotify
    ports:
      - 2222:80
    environment:
      - GOTIFY_DATABASE_DIALECT=sqlite3
      - GOTIFY_DATABASE_CONNECTION=data/gotify.db
      - GOTIFY_DEFAULTUSER_NAME=admin
      - GOTIFY_DEFAULTUSER_PASS=admin
      - GOTIFY_PASSSTRENGTH=10
      - GOTIFY_UPLOADEDIMAGESDIR=data/images
      - GOTIFY_PLUGINSDIR=data/plugins
      - TZ=Europe/Paris
    volumes:
      - ./config:/app/data

Vous pouvez modifier :
- GOTIFY_DEFAULTUSER_NAME=admin, à modifier avec le nom d'utilisateur voulu.
- GOTIFY_DEFAULTUSER_PASS=admin, à modifier avec le mot de passe voulu pour l'utilisateur.
- TZ=Europe/Paris, Europe/Paris représente le fuseau horaire.

Une fois le fichier correctement rempli, vous pouvez quitter l'éditeur avec Ctrl+X et confirmer les modifications.[/B]




3/ Création et démarrage du conteneur
Rappel : Nous sommes toujours en SSH, dans notre dossier gotify

Pour créer le conteneur et le démarrer exécuter la commande suivante : docker compose up -d

Note : Si vous exécuter une veille version de docker-compose ( version 1 ) , la commande sera : docker-compose up -d

Note 2 : Les commandes docker doivent s’exécuter avec les droits root


Si la commande vous retourne "done" ou "Running", c'est que le conteneur est bien lancé !




4/ 1ère connexion
L’accès a l'interface ce fera par le port 2222, il faudra donc dans votre navigateur, renseigner http://adresse_ip_du_nas:2222
Exemple, si l'ip locale de votre NAS est 192.168.1.10, alors l'adresse sera http://192.168.1.10:2222

3shwC6a.png

Si vous n'avez pas personnalisé GOTIFY_DEFAULTUSER_NAME et GOTIFY_DEFAULTUSER_PASS alors l'identifiant par défaut de connexion est :
User : admin
Pass : admin





5/ Accès HTTPS ( Optionnel )
Oups ! En cours :)




2023-02-18 - Rajout de TZ, changement de l'url du dépot
2022-05-16 - Création du tutoriel
 
Dernière édition:
Voilà, installé :)
@EVOTk : Il faudrait une partie de tuto axé configuration et utilisation ;) avec un exemple ^^
 
J'ai une question sur l'envoi d'un message par un script bash.
J'ai trouver un script permettant d'envoyer un message à gotify.
Bash:
#!/bin/bash

TITLE="Hello"
MESSAGE="Hello World"
PRIORITY=0
URL="http://localhost:2222/message?token=XXXXXXXXXXXX"

curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -H 'Content-Type: application/json' "$URL"

Ma question est: comment faire pour permettre l'envoi d'un message sur plusieurs lignes ?

Merci
 
J'ai une question sur l'envoi d'un message par un script bash.
J'ai trouver un script permettant d'envoyer un message à gotify.
Bash:
#!/bin/bash

TITLE="Hello"
MESSAGE="Hello World"
PRIORITY=0
URL="http://localhost:2222/message?token=XXXXXXXXXXXX"

curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -H 'Content-Type: application/json' "$URL"

Ma question est: comment faire pour permettre l'envoi d'un message sur plusieurs lignes ?

Merci
Bonjour @Tigrou , je ne suis pas expert Gotify, mais sauf erreur de ma part, tu peux :
  • séparer les lignes par le signe \n
  • peut-être plus pratique, mettre ton texte dans un fichier et insérer MESSAGE="$(< /chemin/d'accès/au_fichier.txt)" à la place de MESSAGE="Hello World".
Je n'ai pas personnellement essayé la première solution.