/AqualinkD-Docker

Docker info for Aqualinkd

Primary LanguageShell

AqualinkD-Docker

Docker info for Aqualinkd
Please note this not not the best way to run AqualinkD, you are far better off downloading the git repo and running make & make install on your system. (information on this is in the AqualinkD wiki)

Very quick information of running AqualinkD with docker

This should be considered beta at present

The information below will let you create a docker image to run, I'm not going to go into all the details as to why I'm not deploying a container. So this will be a little more involved if you've only consumed other peoples containers before.

All files you need are in this repo. First thing you need is to get the docker-compose.yml & aqualinkd.conf file, then you can build the image, once built you can then run the image like you would any other container.

Using docker-compose

docker-compose.yml

version: '3.2'
services:
  aqualinkd:
    build:
      context: https://github.com/sfeakes/AqualinkD-Docker.git#main
    ports:
      - "8080:80"
    volumes:
      - type: bind
        source: ./aqualinkd.conf
        target: /aquacfg/aqualinkd.conf
        read_only: true
    environment:
      config: /aquacfg/aqualinkd.conf
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"

Make sure aqualinkd.conf is in the current directory (or referanced correctly in the yml file), then build

sudo docker-compose up --build

Using docker

All files you need are in this repo. First thing you need is to get the Dockerfile & aqualinkd.conf files, then you can build the image, once built you can then run the image like you would any other container.

Basic steps in a terminal would be the below.

mkdir ~/AuqalinkD-Docker
cd ~/AuqalinkD-Docker
wget https://raw.githubusercontent.com/sfeakes/AqualinkD-Docker/main/Dockerfile
wget https://raw.githubusercontent.com/sfeakes/AqualinkD-Docker/main/aqualinkd.conf 

sudo docker build -t aqualinkd .

That will pull a gcc compiler image, AqualinkD from githib, and then build AqualinkD from source within the docker image

If that worked, you can now run the image with the below command.

cd ~/AuqalinkD-Docker
sudo docker run -it --rm --name AqualinkD -p 8080:80 --device=/dev/ttyUSB0 -e "config=/aquacfg/aqualinkd.conf" --mount type=bind,source="$(pwd)",target=/aquacfg aqualinkd

Few things to note, AqualinkD needs a config file, you are passing that to the container with the --mount command, (ie container is mounting the local directory) so aqualinkd.conf must exist in the directory you pass. AqualinkD's default web port is 80, the -p 8080:80 is mapping container port 80 to local port 8080, since no ip is listed before 8080, if will be available to any maching on your network. If you change the aqualinkd.conf file, make sure to change this parameter as well.

The build and run commands are in the build.cmd & run.cmd files in the repo as well.

That will get you to the point where you need to read the AqualinkD wiki about configuration. You will obviously need to change /dev/ttyUSB0 and -p8080:80 to what ever port you want to map.