Sign inSign up

cometvisu/cometvisuabstractbase

By cometvisu

•Updated 15 days ago

Abstract base container for CometVisu projects. Contains only a web server with PHP and a knxd.

Image
0

10K+

cometvisu/cometvisuabstractbase repository overview

⁠Abstract base docker container for the CometVisu

This container can be used as a base for own Docker containers that contain the CometVisu⁠. It contains an Apache / PHP combo with the knxd (0.0.5.1). Also, RRD support for the diagram plugin is implemented.

This container is available at DockerHub as cometvisu/cometvisuabstractbase⁠.

NOTE: This is just the abstract base for a CometVisu container. When you are looking for a ready to use container of the CometVisu you should look at cometvisu/cometvisu⁠.

⁠Environment parameters:

ParameterDefaultDescription
BACKEND_NAMEknxdExplicitly set a backend name, e.g openhab, mqtt or knxd, not needed if you use the default backend
BACKEND_KNXDURL to access the knxd backend
BACKEND_MQTTURL to access the mqtt backend
BACKEND_OPENHABPath to the openHAB REST-API
CGI_URL_PATH/cgi-bin/Deprecated: Special case for knxd and openHAB: URL prefix to the cgi-bin resources
KNX_INTERFACEiptn:172.17.0.1:3700Special case for knxd: information for the knxd to connect to the KNX bus
KNX_PA1.1.238Special case for knxd: PA for the knxd
KNXD_PARAMETERS-u -d/var/log/eibd.log -cSpecial case for knxd: additional startup parameters for the knxd
BACKEND_PROXY_SOURCESpecial case for openHAB: proxy paths starting with this value, e.g. /rest
BACKEND_PROXY_TARGETSpecial case for openHAB: target URL for proxying the requests to BACKEND_PROXY_SOURCE, e.g. http://<openhab-server-ip-address>:8080/rest
STOP_ON_BAD_HEALTHtrueStop container on failed health check when set to true. This will trigger a new start of the container when docker is configured to do so
ACCESS_LOGfalseShow web server access log when set to true
⁠KNX

By default, the environment variables are configured to set up a KNX connection. But make sure that KNX_INTERFACE and KNX_PA are set correctly.

The environment variable BACKEND_KNXD must be the URL to the l login script of the knxd backend.

Example:

BACKEND_NAME=knxd
BACKEND_KNXD=https://server.local/cgi-bin/l
KNX_INTERFACE=iptn:172.17.0.1:3700
KNX_PA=1.1.250

Note: When BACKEND_KNXD and CGI_URL_PATH are set at the same time the value of BACKEND_KNXD is used.

⁠openHAB

The environment variable BACKEND_OPENHAB must be the path to the openHAB REST-API. It might contain a username and password in the normal URL notation.

Example configuration for an openHAB backend (running on host 192.168.0.10):

BACKEND_NAME=openhab
BACKEND_OPENHAB=/rest/cv/
BACKEND_PROXY_SOURCE=/rest/
BACKEND_PROXY_TARGET=http://192.168.0.10:8080/rest/

Note: The username and password are stored in plain text on the Docker server as well as in the JavaScript engine of the browser. And when no transport encryption is used it is even transported in plaintext over the network.

Note: When BACKEND_OPENHAB and CGI_URL_PATH are set at the same time the value of BACKEND_OPENHAB is used.

⁠MQTT

The environment variable BACKEND_MQTT must be the URL to the web socket interface of the MQTT broker. It might contain a username and password in the normal URL notation.

Example configuration for an MQTT backend (running on timberwolf.local at port 443 with secure websockets):

BACKEND_NAME=mqtt
BACKEND_MQTT=wss://CometVisuUser:[email protected]:443/proxy/mqtt/ws

Note: The username and password are stored in plain text on the Docker server as well as in the JavaScript engine of the browser. And when no transport encryption is used it is even transported in plaintext over the network.

⁠Setup:

The CometVisu should be installed to the directory /var/www/html. This would then result in the config files to be located at /var/www/html/config which should most likely be a volume then.

The RRD files, when that feature is desired to be used, must be located in the directory /var/www/rrd/. So this would also be a volume as the RRD files must be created and filled up from an external source to this container.
NOTE: the RRD files must be compatible in architecture as they can't be used otherwise.

⁠FAQ:

  • Question: Why does the log show a message like apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message?
    Answer: The Docker container was started without setting the parameter --hostname (or, in short, -h).
    Using Portainer this would be done at "Network" on the field "Domain Name".

Tag summary

Content type

Image

Digest

sha256:692de3fab…

Size

203.8 MB

Last updated

15 days ago

docker pull cometvisu/cometvisuabstractbase