Il y a quelques années, j'avais créé un site Wordpress avec un add-on de gestion de recettes, mais je m'en suis détourné petit à petit, la gestion en étant un peu trop lourde à l'époque. La maintenance, que ce soit les mises à jour, les adaptations du thème, les sauvegardes, ..., me prenait plus de temps que je n'avais à y consacrer.

En cherchant des containers Docker qui pourraient m'être utiles, j'était tombé il y a quelques semaines sur OpenEats et Grocy qui m'ont rappelé cette période et ce besoin toujours insatisfait. Mais je n'avais pas pris le temps de regarder en détails s'ils répondaient à mon besoin.

Après les avoir essayés tous les deux, OpenEats permet seulement d'héberger vos recettes de cuisine, il répond donc au besoin initial. Mais c'est un peu fastidieux pour le mettre en place, il faut en effet pas moins de 3 containers, et j'ai trouvé qu'ils consomment pas mal de ressources...
Il se trouve que Grocy est plus simple à mettre en place, avec 1 container unique, et est également bien plus complet, car en plus de vous permettre d'héberger et partager vos recettes de cuisine, il offre la possibilité de gérer vos stocks, que ce soit de votre réfrigérateur, congélateur, placards .... et même de tout et n'importe quoi après tout. Et en prime, il y a un plugin Jeedom pour la partie gestion de stocks ! C'est donc ce dernier que j'ai retenu et que nous allons mettre en place.

Comme d'habitude, je vais vous présenter les différentes méthodes pour initialiser ce nouveau container, à savoir par l'interface Synology, en ligne de commande, ou encore via une stack docker-compose (avec l'interface Portainer, voire ici pour savoir comment on le met en place).

1ère méthode : installation par l'interface Synology

  • Pour commencer, lancez le paquet Docker, et rendez-vous dans l'onglet Registre.
  • Cherchez "grocy" et double-cliquez pour télécharger le paquet "linuxserver/grocy" en version "latest".
  • Allez ensuite dans l'onglet Images, sélectionnez le paquet précédemment téléchargé "linuxserver/grocy" et cliquez sur "Lancer".
  • Donnez un nom à votre container puis cliquez sur "Paramètres avancés".
  • Sur le premier onglet, cochez la case pour active le redémarrage automatique.
  • Dans l'onglet Volumes, ajoutez un dossier, créez un nouveau dossier pour stocker la configuration du container, validez, et indiquez le chemin "/config".
  • Dans l'onglet Paramètres des ports, changez le port local correspondant au port 80 du container par celui que vous voulez, c'est lui qui vous servira pour accéder à l'interface web de Grocy.
  • Dans l'onglet Environnement, ajoutez 3 variables "PUID", "PGID" correspondant aux identifiants de l'utilisateur ayant les droits d'écriture sur le dossier créé dans l'onglet Volumes, et "TZ" pour indiquer votre fuseau horaire.
  • Cliquez sur Appliquer, puis Suivant. Une fois le résumé affiché, vous pourrez cliquer sur Appliquer pour lancer la création du container.

2ème méthode : installation en ligne de commande

  • Connectez-vous en SSH à votre Synology avec Putty et passez root avec la commande "sudo -i".
  • Téléchargez ensuite le container :
docker pull portainer/portainer
  • Lancez maintenant le container avec la commande suivante :
docker create --name=grocy -e PUID=1026 -e PGID=100 -e TZ=Europe/Paris -p 9283:80 -v /volume1/docker/config-grocy:/config --restart unless-stopped linuxserver/grocy

3ème méthode : installation avec Portainer et une stack docker-compose

  • Connectez-vous à Portainer et rendez-vous dans la gestion des stacks.
  • Cliquez sur "Add stack".
  • Donnez un nom à votre stack et collez le contenu du docker-compose en-dessous.
  • Tout en bas, cliquez sur "Deploy a stack".
version: "2.1"
services:
  grocy:
    image: linuxserver/grocy
    container_name: grocy
    environment:
      - PUID=1026
      - PGID=100
      - TZ=Europe/Paris
    volumes:
      - /volume1/docker/compose-grocy/config:/config
    ports:
      - 9283:80
    restart: unless-stopped

Afin de valider le bon fonctionnement de Grocy, dans votre navigateur, rendez-vous sur l'adresse http://<IP.DE.VOTRE.NAS>:<PORT-LOCAL>. Vous devriez obtenir une fenêtre d'identification sur Grocy. Les identifiants par défaut sont admin / admin.

L'interface est en anglais, mais vous pouvez changer ça en modifiant un fichier de configuration, accessible dans le volume que vous avez indiqué à la création du container. (le fichier config.php dans le dossier data). La ligne à modifier est la suivante, vous pouvez modifier le "en" pour "fr" :

Setting('CULTURE', 'en');

Je vais vous laisser découvrir vous familiariser avec l'interface et Grocy en lui-même. Personnellement, j'en vois 2 utilisations pour le moment, l'hébergement de recettes (c'est quand même ce que je cherchais en premier lieu ...) et pouvoir gérer le stock de mes bières (une de mes grandes passions en plus de l'informatique).

Je reviendrais d'ici quelques jours compléter cet article après avoir utilisé et renseigné Grocy, et pour vous montrer également le plugin Jeedom "Stock".