Sign inSign up

msmi/nodejs-poolcontroller

By msmi

Updated over 2 years ago

Control your Pentair compatible pool equipment

Image
5

50K+

msmi/nodejs-poolcontroller repository overview

See https://github.com/tagyoureit/nodejs-poolController

If you just want to test it out with Docker and your RS-485 adapter is on the default port /dev/ttyUSB0

$ docker run --rm -it -u node:dialout -p 4200:4200 --device /dev/ttyUSB0 msmi/nodejs-poolcontroller

Docker Compose examples

For a more permanent install, use a docker-compose file.

Server-only minimal example:

docker-compose.yml

services:
  poolcontroller:
    user: node:dialout
    devices:
      - /dev/ttyUSB0
    ports:
      - "4200:4200"
    image: msmi/nodejs-poolcontroller
Server-only with access to the config and some useful directories:
services:
  poolcontroller:
    container_name: poolcontroller
    restart: always
    user: node:dialout
    devices:
      - /dev/ttyUSB0
    ports:
      - "4200:4200"
    volumes:
      - /data/poolcontroller/config.json:/app/config.json
      - /data/poolcontroller/data:/app/data
      - /data/poolcontroller/logs:/app/logs
    image: msmi/nodejs-poolcontroller
Server and dashPanel client:
services:
  poolcontroller:
    container_name: poolcontroller
    restart: always
    user: node:dialout
    devices:
      - /dev/ttyUSB0
    ports:
      - "4200:4200"
    volumes:
      - /data/poolcontroller/config.json:/app/config.json
      - /data/poolcontroller/data:/app/data
    image: msmi/nodejs-poolcontroller
  poolcontroller-dashpanel:
    restart: always
    container_name: poolcontroller-dashpanel
    ports:
      - "5150:5150"
    volumes:
      - /data/poolcontroller-dashpanel/config.json:/app/config.json
    image: msmi/nodejs-poolcontroller-dashpanel
    depends_on:
      - poolcontroller
Docker socat example:
services:
  poolcontroller:
    container_name: poolcontroller
    restart: always
    ports:
      - "4200:4200"
    volumes:
      - /data/poolcontroller/config.json:/app/config.json
      - /data/poolcontroller/data:/app/data
    image: msmi/nodejs-poolcontroller
  socat:
    command: tcp-listen:9801,fork,reuseaddr file:/dev/ttyUSB0,b9600,raw,echo=0
    container_name: socat
    restart: always
    ports:
      - "9801:9801"
    devices:
      - /dev/ttyUSB0
    image: alpine/socat

Use of socat is totally optional. It's very stable, and allows the containers to be on different docker hosts.

You also don't need volume mapping unless you'd like to have access to the config and captures when the container is not running.

Tag summary

Content type

Image

Digest

sha256:36134a342

Size

146.9 MB

Last updated

over 2 years ago

docker pull msmi/nodejs-poolcontroller