NodeRed

NodeRed is a flexible visual programming tool mainly for managing IoT services. I don't use it for that at all, I use it to run my telegram bot!

Installation is easy if you do it in docker/portainer. Here's my portainer stack

version: "2"

services:
  nodereddb:
    image: linuxserver/mariadb:latest
    container_name: NodeRedDB
    volumes:
      - ~/mariadb:/config:rw 	# set the bit before the : to your persistent storage location
      - ~/mariadb:/var/lib/mysql:rw # I can't tell which of these is needed nowadays
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: password # Replace this with one of your own!
    
  nodered:
    image: nodered/node-red:latest
    container_name: mynodered    
    volumes:
      - "~/NodeRed:/data"      	# set the bit before the : to your persistent storage location
    environment:
      - "TZ=Europe/London"      
    ports:
      - 1880:1880      
    restart: unless-stopped

That's all you need in the stack editor. Deploy the stack.
Then go to <IP of the machine that is running docker/portainer>:1880

I don't expose this container/port to the internet, so I haven't bothered setting up a CNAME or an entry in the  Caddyfile for this service. If you choose to do those things then read up carefully about hardening NodeRed - it's not at all secure out of the box!