IP-Symcon via Docker Engine

zu 1) kann ich nichts sagen.

zu 2) da gibt es mehrere Optionen
a) innerhalb des Containers wie im normalen Ubuntu mittels apt-get update symcon updaten und die Änderung mit docker commit festschreiben
b) mit den Files auf Github selber einen neuen Container mit der aktuellen Version erzeugen
c) warten, bis ich das Update hochgeladen habe. Wobei ich die 4.1 nun auch aus Testing nach stable schieben muss. Evtl. mache ich das sogar dieses Wochenende.

HTH
Tommi

Hallo tommi,

danke für die Mühen, habe deinen neuen Container genutzt.
Der Versuch, selber ein Update zu machen scheitert zum einen an meinen noch fehlenden Kenntnissen - ich habe keine Ahnung, wie man ein eigens Dockerfile erstellt - , und zum anderen daran, dass, wenn ich bei meinem bestehenden Container das Terminal aufrufe, um apt-get update auszuführen, der komplette Container einfriert. Irgendwann wirft Chrome dann die Fehlermeldung aus, dass das Speicherlimit erreicht sei.

Vielleicht liegt es an der Betaversion meiner DSM (6.1)

A super, der neue Container von gestern mit IPS 4.1-529 läuft? habe es selber noch nicht ausprobiert.

Ein eigenes Dockerfile musst Du bei einfachen Updates gar nicht schreiben, Einfach den docker build im geclonten symcon-docker Github-verzeichnis aufrufen


#!/bin/bash
rel=${1:-testing}
git clone https://github.com/Tommi2Day/ipsymcon-docker.git
cd ipsymcon-docker
docker build --build-arg VERSION=$rel -t tommi2day/symcon:$rel .

Damit wird der existierende Container mit der aktuellen IPS Version neu erstellt. Die Daten Scripts usw. sollten außerhalb im docker share liegen und deshalb erhalten bleiben.

Tommi

Symcon im Docker läuft, hurra!

WebOAuth scheint ein Teil von Symcon 4.1 ab Build 529 zu sein.

Nun bin ich allerdings auf ein sehr merkwürdiges Verhalten gestossen:
Sämtliche Trigger, die auf einem zyklischen Ereignis zu eine festen Uhrzeit beruhen, werden eine Stunde zu spät ausgeführ! Im Protokoll jedoch wird die korrekte Uhrzeit angegeben (also: Ereignis soll um 10:00 starten, wird aber erst um 11:00 ausgeführt. Im Protokoll wird die korrekte Ausführungszeit 11:00 eingetragen und auch die Funktion time() ergibt die korrekte Zeit).
Kennt das jemand?

Cheers,

Andreas

Hallo,

dank eurer Hilfe habe ich nun symcon im Docker auf einer DS916+ laufen. Leider erkennt symcon meine FHZ nicht. Am Raspi musste man sie nur einstecken, was muss ich in der Synology und im Docker einstellen, das die FHZ gefunden wird?

Gruss Schubi

Das geht prinzipbedingt nicht so einfach. Du kannst aus der FHZ ein Netzwerk-Gerät machen und in IPS als Client-Socket einbinden. Hier im Forum gibt es (etwas ältere) Threads, wie man die FHZ über einen XPORT anschliesst. Alternativ geht auch ein Linuxfähiger USB2LAN Umsetzer. Silex ging mangels Linux-Treiber bei mir z.b. nicht

Tommi

Hallo Tommi,

ich nutze das blockmove image. Leider hat meine Docker App auf der Synology keinen „Docker Run Parser“ wie auf deinen Bildern in Post #14, so das ich folgendes nicht nutzen kann:

docker run --name symcon --net=„host“
-v /mnt/data1/@appdata/symcon/etc:/etc/symcon
-v /mnt/data1/@appdata/symcon/root:/root
-v /mnt/data1/@appdata/symcon/share:/usr/share/symcon
-v /mnt/data1/@appdata/symcon/var:/var/lib/symcon
–device /dev/ttyUSB0:/dev/ttyUSB0
blockmove/symcon

Dort wird in der letzten Zeile das Device USB0 eingebunden, kann man das auch händisch tun?

Lieben Gruss René

Theoretisch kannst Du das natürlich auch als root auf der Kommandozeile tun. Ob die Syno die FHZ überhaupt als /dev/ttyUSBx erkennt und ob die vorhandene Dockerinstallation den --device Parameter kennt und dann auch noch IPS mit dem Device im Container zufrieden ist kann ich Dir nicht sagen.Versuch macht klug.
Bedenke aber das die Pfade auf einer Syno anders sind und Du mit --net=„host“ sehr weitrechende Rechte an den Container vergibst
Tommi

Danke Tommi und frohe Weihnachten.:slight_smile:

Am einfachsten mal einen Container von einem Basisimage wie z.B Ubuntu 14.04 erstellen und dann diesem das Device übergeben.
Wenn du dann diesen Container startest, kannst du mit ls /dev/tty* schauen ob das Device übergeben wird.
Das Problem mit docker ist, dass es in der Zwischenzeit recht viele Versionen gibt und es sich doch einiges an den Aufrufparametern geändert hat. Beim Thema Netzwerk sieht es auch nicht viel besser aus.

Gruß
Dieter

Bei meiner Diskstation übergebe ich das USB Device (bei mir ein zwave Stick) vor dem ersten mal starten mit dem RUN Befehl wie folgt.
Du musst den Container ganz normal auf der Oberfläche erst einmal runterladen und dann mit dem Run Befehl erstellen. (per SSH auf die Diskstation und dann in der Konsole arbeiten)

docker run --name symcon --net="host" \
--privileged -v /dev/ttyACM0:/dev/ttyACM0 \
blockmove/symcon

Vorher natürlich das richtige tty Device herausfinden in dem man auf der Linux Kiste vorab schaut.

Kompletter RUN Befehl mit allen Ordnern.

docker run --name symcon --net="host" \
-v /docker/symcon/etc:/etc/symcon \
-v /docker/symcon/var:/root \
-v /docker/symcon/share:/usr/share/symcon \
-v /docker/symcon/root:/var/lib/symcon \
--privileged -v /dev/ttyACM0:/dev/ttyACM0 \
blockmove/symcon

Du kannst aber auch Tommis Container nutzen und dann sieht das ganze z.B. so aus (wenn du das „stable“ heruntergeladen hast)

rel=${1:-stable}
docker run --name symcon --net="host" \
-v /volume1/docker/symcon/root:/root \
-v /volume1/docker/symcon/work:/var/lib/symcon \
-v /volume1/docker/symcon/log:/var/log/symcon \
--privileged -v /dev/ttyACM0:/dev/ttyACM0 \
-p 3777:3777 \
tommi2day/symcon:$rel

Hy Tommi,
wollte gerade von meinem Blockmove Container auf deinen umsteigen und hab bei git gelesen, daß es ein stable, beta und Testing Container gibt. Ich muss den Container aber über das Frostend herunterladen da git auf der Konsole nicht funzt und dort wird mir nur "stable, testing und LATEST angeboten. Ist Latest = Beta ?
Brauche die Beta um OAuth zu bekommen.

Danke Dir !

Gruß
Christian

Einen Beta Container habe ich nicht gebaut. Latest ist nur ein Link auf stable. Siehe auch die Beschreibung auf Docker Hub

in Testing war Oauth mit Build529 schon drin. Siehe Beitrag von Andreas vom 11.12.

Tommi

Ja, testing läuft mittlerweile auch super ! Danke für deine Arbeit !

PS: Ich hatte die Seite schon gelesen nur bin ich hierüber gestolpert:

You need to handover the apt repository branch of symcon („stable“, „beta“ or „testing“)
to the dockerfile as build argument VERSION

Über die ersten Zeilen bin ich wohl drüber weg geflogen :smiley:

Versions as of 12/15/2016:

testing: 4.1-530
latest/stable: 4.1-528

Hallo zusammen,

ich spiele auch gerade ein Bissel mit docker rum, soweit läuft eigentlich alles, bis auf das ich keine PHP Module updaten kann „Kann Repository nicht Aktualisieren wenn Lokale änderungen vorgenommen wurden“, und ich hab definitiv keine lokalen änderungen gemacht. :frowning: kennt jemand das Problem ?

die verzeichnisse

/var/lib/symcon
/var/log/symcon
/root

sind auch brav „ausgelagert“ und als VOLUME eingehängt

Grüsse
Dave

Hatte ich auch immer und hab die Module immer gelöscht und neu hinzugefügt. Hatte dafür leider auch keine andere Lösung gefunden. Sorry

Bin mittlerweile aber auch wieder zurück auf den raspi. Hier läufts einfach doch noch runder und meine Synology hat noch ein paar mehr Docker Slots frei.

Hi,

ich habe IPS bereits in einem Docker Image laufen, nur in der Version 4.0

Das Image gibt es auf dem Docker Hub nun nicht mehr und somit bekomme ich über diesen Weg wohl keine Updates mehr. Wenn ich nun auf das Image von Tommi umsteige, besteht irgendwie die gleiche Gefahr.

Ein apt-get upgrade symcon innerhalb des Containers für zum Absturz des selben, in dem Moment wo der symcon service beendet wird um das update durchzuführen.

Wie kann ich denn innerhalb des Containers symcon upgraden? Möchte einfach nicht in die Gefahr laufen, dass ich irgendwann wieder da stehe und IPS nicht mehr aktualisiert bekomme.

Danke & Gruß,
Torsten

Docker Container sind prinzipbedingt nicht für ein internes Update gedacht.

Du kannst Dir aber den Container selber neu bauen und ggfls dabei gleich anpassen. Du findest für meine Version alles auf Github.

Tommi

Ich beobachte das Thema am Rande und finde es sehr spannend … nur das man nicht upgraden kann und immer den Container neu erstellen muss ist nicht wirklich gut. Auch das mit den Modulen ist nicht gut.

Wäre es eine Alternative z.B. auf der Synology IPS in einer VM mit Ubuntu laufen zu lassen? Das sollte ja eigentlich flexibler sein und ähnlich schlank (je nach Installation)?

Guten Abend zusammen;

nachdem ich jetzt mal endlich die Zeit hatte IPS auf 4.1 hochzurüsten, habe ich das blockmove/symcon-Image auf hub.docker.com angepasst.
Wer will, kann’s ja mal testen oder als Basis fürs eigene Image nehmen.

Gruß
Dieter