Running the Interactor from Docker
With many thanks to @Djelibeybi, a docker image is available to run the interactor, which will work on many architectures including a Raspberry Pi.
Note
It’s not possible to discover devices on the network from a container
running under Docker Desktop for macOS or Windows as multicasting is not
supported. However, if you configure hardcoded discovery,
the rest of Interactor’s functionality will work. You also need to replace
--net=host
with -p 6100:6100
to allow inbound connections to the
Interactor RESTful API.
The following may be used:
$ docker run --name=photons \
--detach \
--restart=always \
--net=host \
-e TZ=Australia/Melbourne \
-v "${PWD}/configdir":/project/config \
delfick/lifx-photons-interactor:latest
Note
It’s recommended you pin to a particular version in case a breaking change is released!!! You can find the latest version number at https://pypi.org/project/lifx-photons-interactor/
for example, if the number there is 0.1337.0
then you’d specify
delfick/lifx-photons-interactor:0.1337.0
Replace Australia/Melbourne
with the appropriate
TZ database name.
The -v configdir:/project/config
part of that command isn’t strictly
required and may be left out. It is useful if the server is used to create
scenes as these are saved in an sqlite3 database that will be put in that
folder by default.
By creating a directory (in this example, configdir
in the current working
directory) this sqlite3 database will exist outside the docker container and
survive across running that docker command multiple times.
For custom options, that configdir
directory may have a lifx.yml
containing appropriate options.