Synology [Obsolète] [Tuto] Installation de Huginn + MariaDB en Docker un NAS Synology

EVO

Administreur
Membre du personnel
25 Novembre 2019
8 210
1 575
278
/var/run/docker.sock
Informations: N'ayant plus de NAS Synology, ce tutoriel n'est plus maintenu.
Vous pouvez toujours consulter : NAS Synology – Installer Huginn avec Docker

Bonjour,
Voici un tuto, pour ceux qui souhaiterai installer Huginn + MariaDB en docker sur un NAS Synology.

Nous allons ici utiliser Portainer ou docker-compose, cette solution ne pourra donc ce faire, uniquement sur un NAS ou est possible d'installer Docker.

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 à l'aise avec ce genre d'installation, n'hésiter pas a proposer des améliorations, ou des conseils, ...

Pré-requis :
Avoir installé le paquet Docker
Avoir un accès SSH au Synology*

* Pour faire cette manip, il vous faudra vous connecter en SSH à votre NAS, si vous ne savez pas le faire, vous trouverez ici un tuto explicatif : [Tuto] Acceder à son NAS en lignes de commande.

3tMQXRG.png


Huginn c'est quoi ?
Huginn est un système pour les agents de construction qui effectuent des tâches automatisées pour vous en ligne. Ils peuvent lire le Web, surveiller les événements et prendre des mesures en votre nom.

Sommaire :
1/ Création du dossier pour stocker la base de donnée
2/ Création du sous-réseau

_____a/ via Portainer
_____b/ en SSH

3/ Création de la stacks ( Huginn + MariaDB )
_____a/ via Portainer
_____b/ via Docker-compose ( a venir )

4/ Accès à l'interface
5/ Notifier vers Gotify ( a venir ! )






1/ Création du dossier pour stocker la base de donnée

Pour fonctionner MariaDB a besoin d'un répertoire pour stocker la base de donnée, je vais le créer un dossier huginn dans le dossier /docker, qui est sur volume1/, ce chemin sera donc /volume1/docker/huginn

Suivant votre configuration, ce chemin sera peut etre a modifier !

2/ Création du sous-réseau
_____a/ via Portainer
Dans un 1er temps, nous allons créer le sous-réseau :
Dans l'onglet Network, on clique sur Add Network
7tU3HaM.png


Dans name, on indique : huginn-network, et on valide
OvjWWus.png

IFIACAF.png


_____b/ en SSH ( a venir )
En SSH, il suffit d’exécuter la commande suivante :
Code:
docker create network huginn-network


3/ Création de la stacks ( Huginn + MariaDB )
_____a/ via Portainer
Cliquer sur Stacks, puis Add Stacks :
SppGNaj.png


Donner un nom a votre stack, par exemple "huginn", en en dessous, coller le compose ci dessous :
iDcOKRq.png


Code:
version: "2"

services:
  huginn:
    image: huginn/huginn
    container_name: huginn
    networks:
     - huginn-network
    ports:
      - 3600:3000
    environment:
      - DATABASE_NAME=huginn
      - DATABASE_USERNAME=huginn
      - DATABASE_PASSWORD=XXXXXXXXX
      - DATABASE_PORT=3306
      - DATABASE_HOST=huginn_mariadb
      - DATABASE_ADAPTER=mysql2
      - DO_NOT_CREATE_DATABASE=true
    depends_on:
      - huginn_mariadb
    restart: unless-stopped
  huginn_mariadb:
    image: linuxserver/mariadb
    container_name: huginn_mariadb
    hostname: huginn_mariadb
    networks:
     - huginn-network
    environment:
      - PUID=1000
      - PGID=100
      - MYSQL_ROOT_PASSWORD=YYYYYYYY
      - TZ=Europe/Paris
      - MYSQL_DATABASE=huginn
      - MYSQL_USER=huginn
      - MYSQL_PASSWORD=XXXXXXXXX
    ports:
      - 3308:3306
    volumes:
      - /volume1/docker/huginn:/config
    restart: unless-stopped

networks:
  huginn-network:
    external:
      name: huginn-network

Attention, a modifier dans le compose ci-dessus avant de valider la création de la stacks :
DATABASE_PASSWORD et MYSQL_PASSWORD, ici sont égal à XXXXXXXXX, il faut choisir un mot de passe de votre choix et l'indiquer aux deux endroits.
MYSQL_ROOT_PASSWORD, il faut ici remplacer YYYYYYYY par un mot de passe fort de votre choix.
/volume1/docker/huginn, doit corespondre au chemin vers le dossier que vous avez réservé pour votre stacks, sinon il faut le modifier en conséquences.
PUID et GUID, ici égal à 1000 et 100, Il va falloir associer notre conteneur a un utilisateur du NAS, pour cela il faut connaitre le PUID et le PGID de cette utilisateur, pour cela, je vous laisse utiliser ce tuto : [Tuto] Connaitre le PUID / PGID d'un utilisateur.
Bien évidement, l'utilisateur choisi devra avoir les droits de lecture/écriture sur le dossier /docker/huginn précédemment créé !
Une fois le PUID/GUID récupérer, on les remplace dans le compose !

Ensuite, pour créer le conteneur on clique sur "Deploy the stack"
jrel076.png


_____b/ via docker-compose
A venir

4/ Accès à l'interface
L’accès a l'interface ce fera par le port 3600, il faudra donc dans votre navigateur, renseigner http://adresse_ip_du_nas:3600
Exemple, si l'ip locale de votre NAS est 192.168.1.10, alors l'adresse sera http://192.168.1.10:3600
CxBaout.png

J8WF84J.png


L'identifiant par défaut de connexion est :
User : admin
Pass : password


5/ Notifier vers Gotify
A venir !
 
Dernière édition:
Merci pour ce tuto !
J'hésitais à utiliser urlwatch mais autant partir sur hugginn qui pourra me servir à faire bien plus de chose.

Par contre j'ai eu une erreur au déploiement de la stack sur mon syno "Error response from daemon: OCI runtime create failed: container_linux.go:345: starting container process caused"

Un contournement existe
Il suffit d'ajouter mem_swappiness: -1 dans le fichier de conf de la stack et le déploiement de la stack fonctionne

Cf ici
https://github.com/portainer/portainer/issues/2576

Reste plus qu'à comprendre le bébé maintenant.