Skip to content

Commit

Permalink
Installation with Docker and Openhab2
Browse files Browse the repository at this point in the history
  • Loading branch information
matte150670 committed Apr 13, 2020
1 parent 7472c44 commit fda9638
Show file tree
Hide file tree
Showing 3 changed files with 186 additions and 39 deletions.
2 changes: 1 addition & 1 deletion .vscode/settings.json
@@ -1,5 +1,5 @@
{
"restructuredtext.confPath" : "${workspaceRoot}/doc/manual/de",
"restructuredtext.confPath" : "${workspaceFolder}/doc/manual/de",
"restructuredtext.builtDocumentationPath" : "${workspaceRoot}/out/preview/de",
"restructuredtext.updateOnTextChanged" : "false"
// "restructuredtext.sphinxBuildPath": "${workspaceRoot}/sphinx-build"
Expand Down
140 changes: 140 additions & 0 deletions doc/manual/de/install/docker_openhab2.rst
@@ -0,0 +1,140 @@
Installation auf einem Ubuntu System mit openHAB2 und Docker
============================================================

1. Voraussetzungen
------------------

Für den Betrieb der CometVisu mit openHAB2 und Docker werden folgende Dinge benötigt:

1. Server mit funktionierender openHAB2 Installation.
2. Docker-CE und Docker Compose
3. Die openHAB Erweiterung *CometVisu*

.. HINT::

Es wird kein zusätzlicher Webserver, wie z.B. Apache o.ä. mit installiertem PHP Support benötigt, da dies
alles Bestandteil des Containers ist.
Die o.g. Punkte sind alles, was zur erfolgreichen Inbetriebnahme erfolderlich ist.


2. Installation von Docker-CE und Compose auf dem Server
--------------------------------------------------------

Dies alles kann durch folgenden Konsolenbefehle ausgeführt werden:

.. code-block:: console
# Update
sudo apt-get update
# Vorausetzungen installieren
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
# Hinzufügen vom Docker GPG-Key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# Hinzufügen vom Docker Repositoty
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# Nochmal ein Update
sudo apt-get update
# Installation docker-ce und Compose
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose
3. Systemvorbereitungen
-----------------------

Damit openHAB mit der CometVisu kommunizieren kann, ist die entsprechende Erweiterung über die PaperUI (http://openhab_adresse:8080)
-> Add-ons -> User Interfaces -> CometVisu oder über die addons.cfg zu installieren. Die Erweiterung *PHP support for CometVisu*
wird in diesem Fall nicht benötigt.


.. code-block:: console
# Aktuellen Benutzer zur Gruppe *Docker* hinzufügen
sudo usermod -aG docker $USER
Nach dem Aufnehmen des Benutzers nochmal neu Anmelden

.. code-block:: console
# Anlegen vom Verzeichnis resource/config unter dem aktuellen Benutzer
sudo mkdir -p resource/config
# Anlegen einer Beispiel XML-Datei unter resource/config
sudo nano resource/config/visu_config.xml
.. code-block:: xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<pages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" design="pure" xsi:noNamespaceSchemaLocation="../visu_config.xsd" lib_version="8">
<meta>
<statusbar>
<status type="html"><![CDATA[
<img src="resource/icon/comet_64_ff8000.png" alt="CometVisu" /> by <a href="http://www.cometvisu.org/">CometVisu.org</a>
-<a href=".?forceReload=true">Reload</a>
-<a href="?config=demo">Widget Demo</a>
]]></status>
<status type="html" condition="!edit" hrefextend="config"><![CDATA[
- <a href="edit_config.html">Edit</a>
]]></status>
<status type="html" condition="edit" hrefextend="all"><![CDATA[
- <a href=".">normal Mode</a>
]]></status>
<status type="html"><![CDATA[
- <a href="check_config.php">Check Config</a>
<div style="float:right;padding-right:0.5em">Version: SVN</div>
]]></status>
</statusbar>
</meta>
<page name="Startseite">
</page>
</pages>
.. code-block:: console
# Anlegen der Verzeichnisse Backup und media unter resource/config
sudo mkdir -p resource/config/media
sudo mkdir -p resource/config/backup
# Rechte für den Webserver setzen
sudo chown -hR www-data:www-data resource/config
4. Cometvisu per Docker installieren
------------------------------------
Jetzt den Container installieren

.. code-block:: docker
# yaml datei Anlegen
sudo nano docker-compose.yaml
# Beispielinhalt für openhab2
version: '3.4'
services:
cometvisu:
image: "cometvisu/cometvisu:latest"
restart: always
ports:
- 80:80
volumes:
- ./resource/config:/var/www/html/resource/config
environment:
KNX_INTERFACE: ""
CGI_URL_PATH: "/rest/cv/"
BACKEND_PROXY_SOURCE: "/rest"
BACKEND_PROXY_TARGET: "http://<IP-Openhab2>:8080/rest"
.. HINT::
Bei der YAML-Datei ist darauf zu achten, dass die Einrückungen jeweils mit 2 Leerzeichen erstellt werden.

.. code-block:: console
# docker starten
docker-compose up -d
Die CometVisu ist dann direkt unter der URL ``http://<IP-Openhab2>:`` im Browser erreichbar.
83 changes: 45 additions & 38 deletions source/editor/lib/DocumentationMapping.json
@@ -1,41 +1,48 @@
{
"_base": "http://www.cometvisu.org/CometVisu/",
"audio": "/latest/manual/config/widgets/audio/index.html#audio",
"break": "/latest/manual/config/widgets/break/index.html#break",
"colorchooser": "/latest/manual/config/widgets/plugins/colorchooser/index.html#colorchooser",
"designtoggle": "/latest/manual/config/widgets/designtoggle/index.html#designtoggle",
"diagram": "/latest/manual/config/widgets/plugins/diagram/index.html#diagram",
"flavour": "/latest/manual/config/flavour.html#flavour",
"gauge": "/latest/manual/config/widgets/plugins/gauge/index.html#gauge",
"image": "/latest/manual/config/widgets/image/index.html#image",
"imagetrigger": "/latest/manual/config/widgets/imagetrigger/index.html#imagetrigger",
"include": "/latest/manual/config/widgets/include/index.html#include",
"info": "/latest/manual/config/widgets/info/index.html#info",
"infoaction": "/latest/manual/config/widgets/infoaction/index.html#infoaction",
"infotrigger": "/latest/manual/config/widgets/infotrigger/index.html#infotrigger",
"install-no-pakets": "/latest/manual/install/install-dev.html#install-no-pakets",
"line": "/latest/manual/config/widgets/line/index.html#line",
"mapping": "/latest/manual/config/mapping.html#mapping",
"multitrigger": "/latest/manual/config/widgets/multitrigger/index.html#multitrigger",
"page": "/latest/manual/config/widgets/page/index.html#page",
"pagejump": "/latest/manual/config/widgets/pagejump/index.html#pagejump",
"powerspectrum": "/latest/manual/config/widgets/plugins/powerspectrum/index.html#powerspectrum",
"pushbutton": "/latest/manual/config/widgets/pushbutton/index.html#pushbutton",
"refresh": "/latest/manual/config/widgets/refresh/index.html#refresh",
"reload": "/latest/manual/config/widgets/reload/index.html#reload",
"rgb": "/latest/manual/config/widgets/rgb/index.html#rgb",
"slide": "/latest/manual/config/widgets/slide/index.html#slide",
"speech": "/latest/manual/config/widgets/plugins/speech/index.html#speech",
"strftime": "/latest/manual/config/widgets/plugins/strftime/index.html#strftime",
"styling": "/latest/manual/config/styling.html#styling",
"switch": "/latest/manual/config/widgets/switch/index.html#switch",
"system-voraussetzungen": "/latest/manual/#system-voraussetzungen",
"text": "/latest/manual/config/widgets/text/index.html#text",
"toggle": "/latest/manual/config/widgets/toggle/index.html#toggle",
"trigger": "/latest/manual/config/widgets/trigger/index.html#trigger",
"urltrigger": "/latest/manual/config/widgets/urltrigger/index.html#urltrigger",
"video": "/latest/manual/config/widgets/video/index.html#video",
"visu-config-details": "/latest/manual/config/index.html#visu-config-details",
"web": "/latest/manual/config/widgets/web/index.html#web",
"widgets": "/latest/manual/config/widgets/index.html#widgets"
"audio": "/develop/manual/config/widgets/audio/index.html#audio",
"colorchooser": "/develop/manual/config/widgets/plugins/colorchooser/index.html#colorchooser",
"gauge": "/develop/manual/config/widgets/plugins/gauge/index.html#gauge",
"group": "/develop/manual/config/widgets/group/index.html#group",
"image": "/develop/manual/config/widgets/image/index.html#image",
"imagetrigger": "/develop/manual/config/widgets/imagetrigger/index.html#imagetrigger",
"info": "/develop/manual/config/widgets/info/index.html#info",
"infoaction": "/develop/manual/config/widgets/infoaction/index.html#infoaction",
"infotrigger": "/develop/manual/config/widgets/infotrigger/index.html#infotrigger",
"line": "/develop/manual/config/widgets/line/index.html#line",
"link": "/develop/manual/config/widgets/plugins/link/index.html#link",
"mapping": "/develop/manual/config/mapping.html#mapping",
"multitrigger": "/develop/manual/config/widgets/multitrigger/index.html#multitrigger",
"notificationcenterbadge": "/develop/manual/config/widgets/notificationcenterbadge/index.html#notificationcenterbadge",
"page": "/develop/manual/config/widgets/page/index.html#page",
"pagejump": "/develop/manual/config/widgets/pagejump/index.html#pagejump",
"powerspectrum": "/develop/manual/config/widgets/plugins/powerspectrum/index.html#powerspectrum",
"pushbutton": "/develop/manual/config/widgets/pushbutton/index.html#pushbutton",
"refresh": "/develop/manual/config/widgets/refresh/index.html#refresh",
"reload": "/develop/manual/config/widgets/reload/index.html#reload",
"rgb": "/develop/manual/config/widgets/rgb/index.html#rgb",
"roundbar": "/develop/manual/config/widgets/roundbar/index.html#roundbar",
"slide": "/develop/manual/config/widgets/slide/index.html#slide",
"strftime": "/develop/manual/config/widgets/plugins/strftime/index.html#strftime",
"switch": "/develop/manual/config/widgets/switch/index.html#switch",
"system-voraussetzungen": "/develop/manual/#system-voraussetzungen",
"text": "/develop/manual/config/widgets/text/index.html#text",
"toggle": "/develop/manual/config/widgets/toggle/index.html#toggle",
"tr064": "/develop/manual/config/widgets/plugins/tr064/index.html#tr064",
"trigger": "/develop/manual/config/widgets/trigger/index.html#trigger",
"urltrigger": "/develop/manual/config/widgets/urltrigger/index.html#urltrigger",
"video": "/develop/manual/config/widgets/video/index.html#video",
"visu-config-details": "/develop/manual/config/index.html#visu-config-details",
"web": "/develop/manual/config/widgets/web/index.html#web",
"widgets": "/develop/manual/config/widgets/index.html#widgets",
"xml-format": "/develop/manual/config/xml-format.html#xml-format",
"xml-format-files": "/develop/manual/config/xml-format.html#xml-format-files",
"xml-format-header": "/develop/manual/config/xml-format.html#xml-format-header",
"xml-format-icons": "/develop/manual/config/xml-format.html#xml-format-icons",
"xml-format-mappings": "/develop/manual/config/xml-format.html#xml-format-mappings",
"xml-format-pages": "/develop/manual/config/xml-format.html#xml-format-pages",
"xml-format-plugins": "/develop/manual/config/xml-format.html#xml-format-plugins",
"xml-format-statusbar": "/develop/manual/config/xml-format.html#xml-format-statusbar",
"xml-format-stylings": "/develop/manual/config/xml-format.html#xml-format-stylings",
"xml-format-templates": "/develop/manual/config/xml-format.html#xml-format-templates"
}

0 comments on commit fda9638

Please sign in to comment.