[Tuto] Installation de Umami + MySQL en Docker

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 251
1 581
278
/var/run/docker.sock
Bonjour,
Voici un petit tuto, pour ceux qui souhaiterai installer Umami et MySQL en Docker.

intro.jpg

Umami, c'est quoi ? :giggle:
Umami est une solution d’analyse de trafic web simple, facile à utiliser, auto-hébergée et respectueuse de vos visiteurs.

Retrouvez plus d'informations sur le site officiel.


Pré-requis :
Avoir Docker et Docker Compose installé sur sa machine, voir [Tuto] Installation de Docker, Docker-compose et Portainer sur Debian 11
Ce connecter en SSH à votre Serveur/NAS, si vous ne savez pas le faire, vous trouverez ici un tuto explicatif : [Tuto] Acceder à son NAS en lignes de commande.

A modifier selon votre installation :
Toute mon installation, va ce faire dans un dossier "umami" inclu dans mon dossier "docker"
Je vais donc installer Umami dans docker/umami


Sommaire :
1/ Créer les dossiers nécessaires
2/ Le fichier "docker-compose.yml"
3/ Création et démarrage du conteneur
4/ Accès à Umami
Annexe 1/ Internal Server Error


Aller go :)



1/ Créer les dossiers nécessaires
Sur le NAS nous allons devoir créer un dossier umami contenant un dossier config, ce dernier contiendra notre base de données.

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 umami, contenant un dossier config avec cette commande : mkdir -p umami/config

Ensuite, avec la commande cd umami, rendez-vous dans le dossier principal de Umami que 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 /umami





2/ Le fichier "docker-compose.yml"

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

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: '3.1'

services:
  umami:
    image: docker.umami.dev/umami-software/umami:mysql-latest
    container_name: unami
    ports:
      - "3003:3000"
    environment:
      DATABASE_URL: mysql://root:VhdBiAXpRP6tbXES@db:3306/umami
      DATABASE_TYPE: mysql
      HASH_SALT: 7NNnoV8fqw7MbdBro9FcXc4rGnx92YLm
    depends_on:
      - db
    restart: unless-stopped

  db:
    container_name: umami_db
    image: mysql:8-debian
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: VhdBiAXpRP6tbXES
    volumes:
      - ./config:/var/lib/mysql

  adminer:
    container_name: umami_adminer
    image: adminer
    restart: unless-stopped
    depends_on:
      - db
    ports:
      - 3004:8080
    mem_limit: 64m
    mem_reservation: 16m

Vous devez modifier :
- MYSQL_ROOT_PASSWORD, il faut choisir un mot de passe de votre choix ( dans cette exemple le mot de passe est VhdBiAXpRP6tbXES. Rempalcer le par le mot de passe de votre choix, puis modifier également cette valeur dans DATABASE_URL, sous la forme mysql://root:MOT_DE_PASSE_CHOISI@db:3306/umami.
- HASH_SALT, comme pour le mot de passe, choisissez un hash "aléatoire" a la place de 7NNnoV8fqw7MbdBro9FcXc4rGnx92YLm

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




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

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/ Accès a Umami
L’accès a l'interface ce fera par le port 3003, il faudra donc dans votre navigateur, renseigner http://adresse_ip_du_nas:3003
Exemple, si l'ip locale de votre NAS est 192.168.1.10, alors l'adresse sera http://192.168.1.10:3003

L'user par défaut est : admin et le mot de passe par defaut est : umami

Pensez a changer le mot de passe par défaut dans Settings > Profile > Change password - Paramètres > Profil > Changer le mot de passe

GTxnKfE.png


Si vous rencontrez une erreur "Internal Server Error", rendez vous à l'Annexe 1 o_O





Annexe 1/ Internal Server Error
L'Internal Server Error se produit a la connexion quand la base de données ne c'est pas créé d'elle meme. Nous allons donc le faire.

Note : pour ceux plus a l'aise avec les lignes de commande, il existe une autre solution à ce problème ici : Install with Docker compose script

Notre compose contient adminer qui est un gestionnaire de base de données, accessible via http://adresse_ip_du_nas:3004, dans notre cas, cela sera http://192.168.1.10:3004

Une fois sur la page de connexion de adminer, vous renseignez les champs comme ceci :
hUdYeV9.png


Mot de passe correspond au champ "MYSQL_ROOT_PASSWORD" du fichier docker-compose.yml.
Cliquez sur Authentification pour vous connecter.

Cliquez sur "Créer une base de données", puis indiquez umami et Enregistrer.
9sI2x9R.png


Une fois fait, cliquez sur Requetes SQL ( la DB sélectionnée doit bien être umami )
QLoZ1hY.png


Dans le champs , copier coller le contenu de se fichier schema.mysql.sql comme ceci :
AqG8D2Y.png

et cliquer sur Executer !

Une fois Executer, votre base de donnée sera remplie ! et vous allez pouvoir vous connecter avec les identifiants par défaut :
QD53Cp9.png


2022-08-14 - L'url du dépot a changé pour docker.umami.dev/umami-software/umami:mysql-latest
2022-06-05 - Création du tutoriel
 
Dernière édition: