Installer Plant-it avec Docker
Plant-it

Installer Plant-it avec Docker

Table des matières

GitHub - MDeLuise/plant-it: 🪴 Self-hosted, open source gardening companion app
🪴 Self-hosted, open source gardening companion app - MDeLuise/plant-it
⚠️
Dorénavant le fichier docker-compose.yml sera compose.yml car docker-compose.yml est déprécié. docker-compose.yml est toujours supporté, mais un jour ou l'autre ça sera supprimé donc autant passer à compose.y(a)ml.
Si pour une raison ou une autre cela ne fonctionne pas, continuez avec docker-compose.y(a)ml et venez sur Discord ou Matrix pour en discuter.

Pour commencer, je voudrais vous dire que cette application nécessite encore un peu de travail, je vous la présente malgré tout car elle est fonctionnelle si vous n'essayez pas, pour le moment, d'utiliser les notifications par e-mail car cela fait planter (sans vouloir faire de jeux de mots) l'application.

J'ai hésité avant de publier l'article mais lors de mes tests, j'ai trouvé que les quelques petits défauts actuels ne sont pas un gros frein.

J'éditerai l'article quand ça sera réglé car le projet m'intéresse pour une utilisation personnelle et je vais donc suivre le développement de très près.

Malgré un défaut ou deux de temps en temps, cela permet de centraliser toutes vos plantes et d'ajouter des événements, comme une feuille de route des soins à apporter à vos protégées, comme l'arrosage, la fertilisation, le rempotage,...

Cela se présente de cette manière, avec à chaque fois la plante concernée et les soins qu'il faut apporter à celle-ci.

En cliquant sur une événement, vous aurez plus d'indications, indications qui seront définies au préalable par vos soins.

Donc à tenir en compte, elle fonctionne, mais il manque un poil de travail.


⚡Caractéristiques

Plant-it est une application compagnon de jardinage qui vous aide à prendre soin de vos plantes.

Il ne vous recommande pas les actions à entreprendre, mais est conçu pour enregistrer l'activité que vous effectuez. C'est volontaire, je crois fermement que le seul responsable de savoir quand arroser vos plantes, quand les fertiliser, etc., c'est vous (avec l'aide de plusieurs sources en ligne).

Plant-it vous aide à vous rappeler la dernière fois que vous avez effectué un traitement sur vos plantes, les plantes que vous possédez, à collecter des photos de vos plantes et à vous informer du temps écoulé depuis la dernière action sur elles.

  • Ajoutez des plantes existantes ou des plantes créées par l'utilisateur à votre collection.
  • Enregistrez les événements comme l'arrosage, la fertilisation, la biostimulation pour vos plantes.
  • Afficher tous les événements enregistrés, en filtrant par installation et type d'événement.
  • Téléchargez des photos de vos plantes.
  • Définir un rappel pour certaines actions sur vos plantes (par exemple, avertir si elles ne sont pas arrosées tous les 4 jours).

💾 L'installation

  1. Créez votre docker-compose.yml dans le dossier ou vous comptez installer Plant-it:
sudo nano compose.yml
  1. Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
name: plant-it
services:
  server:
    image: msdeluise/plant-it-server:latest
    env_file: server.env
    depends_on:
      - db
      - cache
    restart: unless-stopped
    volumes:
      - "./upload-dir:/upload-dir"
      - "./certs:/certificates"
    ports:
      - "8089:8080"
      - "3009:3000"
  db:
    image: mysql:8.0
    restart: always
    env_file: server.env
    volumes:
      - "./db:/var/lib/mysql"
  cache:
    image: redis:7.2.1
    restart: always

Vous avez maintenant une décision à prendre, soit vous ajoutez vous-même vos photos de plantes ou vous pouvez avoir accès à une base de données importantes de plantes, celle de floracodex, qui vous permettra de sélectionner vos plantes facilement, en tapant son nom à partir l'application Plant-it. Pour cela il faudra vous enregistrer sur leur site et créer un compte afin d'obtenir une clé API. Le processus est simple, à vous de choisir.

La base de données augmente progressivement, cela ne veut pas dire que vous allez forcément trouver ce que vous cherchez. Mais c'est déjà bien fourni.

Sans floracodex

  1. On va créer le fichier de configuration:
sudo nano server.env
  1. Et coller ça dedans:
#
# DB
#
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USERNAME=root
MYSQL_PSW=root
MYSQL_DATABASE=bootdb
MYSQL_ROOT_PASSWORD=root

#
# JWT
#
JWT_SECRET=putTheSecretHere
JWT_EXP=1

#
# Server config
#
USERS_LIMIT=-1
UPLOAD_DIR=/upload-dir
API_PORT=8080
FLORACODEX_KEY=
LOG_LEVEL=DEBUG
ALLOWED_ORIGINS=*

#
# Cache
#
CACHE_TTL=86400
CACHE_HOST=cache
CACHE_PORT=6379

#
# SSL
#
SSL_ENABLED=false
CERTIFICATE_PATH=/certificates/

Veillez à remplacer:

  • JWT_SECRET=putTheSecretHere => Remplacez putTheSecretHere par un mot de passe, une phrase de passe, de 32 caractères, par exemple.

Vous pouvez passer directement au point 7, le déploiement.

Avec floracodex

  1. On va créer le fichier de configuration:
sudo nano server.env
  1. Et coller ça dedans:
#
# DB
#
MYSQL_HOST=db
MYSQL_PORT=3306
MYSQL_USERNAME=root
MYSQL_PSW=root
MYSQL_DATABASE=bootdb
MYSQL_ROOT_PASSWORD=root

#
# JWT
#
JWT_SECRET=putTheSecretHere
JWT_EXP=1

#
# Server config
#
USERS_LIMIT=-1
UPLOAD_DIR=/upload-dir
API_PORT=8080
FLORACODEX_URL=https://api.floracodex.com
FLORACODEX_KEY=xxxxxxxxxx
LOG_LEVEL=DEBUG
ALLOWED_ORIGINS=*

#
# Cache
#
CACHE_TTL=86400
CACHE_HOST=cache
CACHE_PORT=6379

#
# SSL
#
SSL_ENABLED=false
CERTIFICATE_PATH=/certificates/

Veillez à remplacer:

  • JWT_SECRET=putTheSecretHere => Remplacez putTheSecretHere par un mot de passe, une phrase de passe, de 32 caractères, par exemple.
  • FLORACODEX_KEY=xxxxxxxxxx => Remplacez xxxxxxxxxx par votre clé API.
  1. On va déployer l'application:
docker compose up -d
  1. Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3030 par défaut:
http://ip:3030/

Une fois déployée, laissez une petite minute au repos avant de vouloir joindre la page, le temps que tout se mette en place.


Création du compte administrateur

Lorsque vous lancez l'application pour la première fois, vous allez arriver ici:

Il va falloir entrer l'URL de votre serveur, http://ip: suivi du port 8080, comme ceci:

Cliquez sur Continuer.

Maintenant il va falloir créer un compte administrateur en cliquant sur Créer un compte:

Remplissez les informations demandées:

  • Nom d'utilisateur => Choisissez un nom d'utilisateur.
  • Email => Choisissez une adresse e-mail.
  • Mot de passe => Choisissez un mot de passe fort.

Cliquez sur S'inscrire pour terminer.

Vous voilà sur votre tableau de bord! 🎉


🌱 Ajouter une plante

Sans floracodex

Cliquez sur la loupe:

Vu que pour mon test j'ai ajouté la base floracodex je vais taper quelque chose qui n'est pas présent dans leur base de données afin que cela reproduise ce qui se passe quand on utilise Plant-it sans floracodex.

Cliquez sur Personnalisé:

Cela va ouvrir une sorte de fiche à remplir:

Vous aurez à remplir quelques informations. Vous pouvez ajouter une photo pour rendre agréable votre présentation. Je me lance:

Je valide en cliquant sur la disquette.

Ce qui donne:

Avec floracodex

Cliquez sur la loupe:

Tapez le nom de la plante et cliquez sur l'image correspondante:

Cliquez sur + Ajouter une plante:

Vous pouvez éventuellement éditer des détails:

Cliquez sur + pour terminer.


📆 Ajouter un évènement

Sur la page principale, cliquez sur +:

Sélectionnez la plante souhaitée:

Sélectionnez un événement, par exemple arrosage:

Ajoutez une note éventuellement:

Cliquez sur + pour ajouter l'événement. Vous retrouverez sur la page principale votre événement:


👀 Vue d'ensemble des événements

Cliquez sur l'icône calendrier afin d'avoir une vue globale des événements:


⚙️ Les options

Cliquez sur les trois lignes horizontales afin d'accéder aux paramètres de l'application:

Sur cette page vous aurez la possibilité dans l'onglet:

Compte

  • Changer votre mot de passe.
  • Changer de langue.

Statistiques

Consultez en un coup d’œil:

  • Le nombre d'événements.
  • De plantes.
  • D'espèces.
  • D'images.

Serveur

  • Changez l'URL de votre serveur.
  • Configurez le système de notification.
  • Configurez Ntfy.

Vous pouvez également offrir un café au développeur. C'est toujours sympa. 😃


🔔 Notification

Bientôt disponible.


zarev

->.<-
🐧 Passionné de self-hosting, je partage ce que je connais et me nourris des connaissances des bonnes âmes qui partagent avec moi. Soutenons l'utilisation des apps open source et leurs développeurs.