Créer un container Nodered sous forme de stack
Un container Nodered peut se créer de deux manières :
- directement en tant que Container
- sous forme de stack Docker, au sens Portainer.
Une stack sert à configurer un ou plusieurs containers liés entre eux, sur la base d'un fichier docker-compose.
Pour en savoir plus sur les fichiers docker-compose : https://datascientest.com/docker-compose-tout-savoir
Dans le cas présent, nous automatisons la configuration d'un container Nodered :
- création d'un réseau propre
- définition du port d'accès au container
- labels traefik pour avoir un accès en https
- création d'un volume et lien avec le container
Tutoriel pour créer une nouvelle stack : https://docs.portainer.io/user/docker/stacks/add
Pas à pas dans le cas de Nodered :
1 - Sélectionner "Stacks" puis "Add stack"
2 - Choisir un nom pour la stack et compléter le champ "Name"
Copier la configuration ci-dessous dans le block "Webeditor"
version: "3.8"
services:
nodered-test:
image: nodered/node-red:latest
restart: always
env_file:
- stack.env
labels:
- traefik.http.routers.nodered-${app_name}.rule=Host(`${host}`) && PathPrefix(`/nodered-${app_name}/`)
- traefik.http.middlewares.nodered-${app_name}_middleware.stripprefix.prefixes=/nodered-${app_name}/
- traefik.enable=true
- traefik.http.routers.nodered-${app_name}.tls=true
- traefik.http.services.nodered-${app_name}.loadbalancer.server.port=1880
- traefik.http.routers.nodered-${app_name}.middlewares=nodered-${app_name}_middleware@docker
ports:
- ${app_port}:1880
volumes:
- nodered_data:/data
networks:
- reseau
volumes:
nodered_data:
networks:
reseau:
driver: bridge
Changer "nodered-test" par le nom souhaité.
3 - Dans la partie "Environment variables", cliquer sur "Advanced mode"
Dans la fenêtre qui apparaît :
Copier les valeurs suivantes :
app_name=test
app_port=1835
host=st30.vincennes.fr
Il est accessible via le port choisi et en https sous la forme :
https://<host>/nodered-<app_name>/
https://st30.vincennes.fr/nodered-test/
Pas de commentaires