+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Nov 2017
    Beiträge
    4

    Standard Docker Container mit IP Symcon auf Raspberry PI

    Hallo zusammen,

    ich wollte IP Symcon (5.3) gerne auf meinem Raspberry Pi in einem Docker Container zum Laufen bringen. Leider klappt das noch nicht ganz.
    Ich habe mich am Dockerfile von Tommi2Day orientiert, meines sieht so aus:

    Code:
    FROM raspbian/stretch
    
    ENV TZ=Europe/Berlin
    
    RUN \
        apt-get update &&  apt-get upgrade -y
    
    RUN \
        apt-get -y install dialog apt-utils dpkg
    
    RUN \
        apt-get -y install wget gnupg2 locales tzdata
     
      
    RUN \
        wget -qO - http://apt.symcon.de/symcon.key | apt-key add - && \
        echo "deb http://apt.symcon.de/ stable rpi" | tee /etc/apt/sources.list.d/symcon.list && \
        apt-get update && apt-get -y install symcon 
    
    RUN \
        cp -R /usr/share/symcon /usr/share/symcon.org &&\
        cp -R /var/lib/symcon /var/lib/symcon.org &&\
        cp -R /root /root.org
       
    #Clean-Up    
    RUN \
        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
        
    #Setup timezone
    #Change for your timezone
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime 
    
    RUN echo $TZ | tee /etc/timezone \
        && dpkg-reconfigure --frontend noninteractive tzdata 
    
    COPY ["docker_entrypoint.sh","set_password.sh","/usr/bin/"]
    
    RUN \
        chmod 700 /usr/bin/docker_entrypoint.sh /usr/bin/set_password.sh
    
    VOLUME \
        /root \
        /var/log/symcon \
        /var/lib/symcon
    
    # Nur als Hinweis für ports (-P nutzt diese); besser: --net=host oder -p 3777 etc bei docker run
    EXPOSE  3777 82
    
    #homematic
    EXPOSE 2001 2010 5544
    
    WORKDIR /root
    ENTRYPOINT ["/usr/bin/docker_entrypoint.sh"]
    Ich habe das Einspielen der Datei .symcon extra ausgelassen, da ich damit Probleme habe.

    Ich habe das Image geholt: docker pull raspbian/stretch:latest
    Und dann mit dem obigen Dockerfile ein Symcon Image erstellt:
    docker build -t symcon .

    Ich habe dann den Container gestartet:

    Code:
    docker run --restart always \
          -e TZ="Europe/Berlin" \
          --net=host \
          -v /home/pi/symcon/data:/var/lib/symcon \
          -v /home/pi/symcon/log:/var/log/symcon \
          -v /home/pi/symcon:/root \
          --name symcon \
          symcon
    Ich habe dann in /home/pi/symcon eine Datei ./symcon erstellt:

    Code:
    Licensee=…
    License=…
    LimitDemo=0
    LimitWebFront=0
    LimitVariables=1000
    Password=…
    Dabei habe ich die … natürlich sinnvoll ersetzt und das Passwort Base64 enkodiert.

    Der Container startet und Webfront und Console sind erreichbar (IP:3777/console). Leider bekomme ich immer bei Eingabe der Daten: Ungültige Anmeldedaten

    Ich habe dann meine Eingaben überprüft:
    docker exec -it symcon /bin/bash
    sudo nano /root/.symcon

    Der Inhalt der Datei stimmt mit meinem Eingaben überein. Daran kann es also nicht liegen.

    Im Symcon Log steht:

    Code:
    02/29/20 13:54:50 | 00000 | MESSAGE | LocalePool           | Detected locale: 
    02/29/20 13:54:50 | 00000 | MESSAGE | LocalePool           | Unsupported locale: 
    02/29/20 13:54:50 | 00000 | MESSAGE | LicensePool          | Creating...
    02/29/20 13:54:50 | 00000 | MESSAGE | LicensePool          | Cannot verify license. Running in Demo mode.
    Aus irgendeinem Grund werden die Daten also nicht korrekt gelesen. Ich habe den Container auch mehrmals neugestartet, auch einen Neustart des PIs habe ich gemacht.

    Beim Starten des Containers bekomme ich ein paar Fehlermeldungen:
    Code:
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# IPS-868 Stripe Input,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# IPS-868 Thermo,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# IPS-868 Tracker,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# IPS-868 WatchDogTimer,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Siemens Configurator,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Siemens Device,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Siemens Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# SSDP Control,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# CMI,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# UVR1611,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WinLIRC,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WMRS200,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WMRS200 Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WuT Counter,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WuT Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WuT Input,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WuT Output,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# WuT ThermoHygro,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# XBee Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# XBee Splitter,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Binary Input,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Configurator,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Dimmer,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Energy,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Humidity,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Heating,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort HRV,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Impulse,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort One Channel Heating,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Remote,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Room Control,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Shutter,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Switch,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Temperature,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Value RX,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# xComfort Value TX,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Z-Wave Configurator,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Z-Wave Module,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Z-Wave Discovery,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# Z-Wave Gateway,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# IMAP,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# POP3,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# SMS,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# SMS REST,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# SMTP,
    02/29/20 13:54:50 | 00000 | ModuleLoader | Loaded# VoIP,
    02/29/20 13:54:50 | 00000 | BuildInLibrary | Register functions...,
    02/29/20 13:54:50 | 10172 | WebFront Configurator | Creating...,
    02/29/20 13:54:50 | 37372 | Archive Control | Creating...,
    02/29/20 13:54:50 | 37372 | Archive Control | Generating DST timestamps...,
    02/29/20 13:54:50 | 30864 | WebHook Control | Creating...,
    02/29/20 13:54:50 | 27396 | Module Control | Creating...,
    02/29/20 13:54:50 | 26995 | Skin Control | Creating...,
    02/29/20 13:54:50 | 28869 | Util Control | Creating...,
    02/29/20 13:54:50 | 14426 | SSDP Control | Creating...,
    02/29/20 13:54:50 | 50223 | Connect Control | Creating...,
    02/29/20 13:54:50 | 40994 | DNSSD Control | Creating...,
    *** WARNING: Detected another IPv4 mDNS stack running on this host. This makes mDNS unreliable and is thus not recommended. ***,
    *** WARNING: Detected another IPv6 mDNS stack running on this host. This makes mDNS unreliable and is thus not recommended. ***,
    Joining mDNS multicast group on interface vethb43dc89.IPv6 with address fe80::d0d6:40ff:fe57:8caa.,
    New relevant interface vethb43dc89.IPv6 for mDNS.,
    Joining mDNS multicast group on interface vethb43dc89.IPv4 with address 169.254.180.142.,
    New relevant interface vethb43dc89.IPv4 for mDNS.,
    Joining mDNS multicast group on interface veth98fd64d.IPv4 with address 169.254.80.216.,
    New relevant interface veth98fd64d.IPv4 for mDNS.,
    Joining mDNS multicast group on interface docker0.IPv6 with address fe80::bb7:10a6:a75a:b10c.,
    New relevant interface docker0.IPv6 for mDNS.,
    Joining mDNS multicast group on interface docker0.IPv4 with address 169.254.182.99.,
    New relevant interface docker0.IPv4 for mDNS.,
    Joining mDNS multicast group on interface wlan0.IPv6 with address fe80::10c0:6c21:7f31:28c6.,
    New relevant interface wlan0.IPv6 for mDNS.,
    Joining mDNS multicast group on interface wlan0.IPv4 with address 192.168.178.56.,
    New relevant interface wlan0.IPv4 for mDNS.,
    Network interface enumeration completed.,
    Registering new address record for fe80::d0d6:40ff:fe57:8caa on vethb43dc89.*.,
    Registering new address record for 169.254.180.142 on vethb43dc89.IPv4.,
    Registering new address record for 169.254.80.216 on veth98fd64d.IPv4.,
    Registering new address record for fe80::bb7:10a6:a75a:b10c on docker0.*.,
    Registering new address record for 169.254.182.99 on docker0.IPv4.,
    Registering new address record for 172.17.0.1 on docker0.IPv4.,
    Registering new address record for fe80::10c0:6c21:7f31:28c6 on wlan0.*.,
    Registering new address record for 192.168.178.56 on wlan0.IPv4.,
    02/29/20 13:54:50 | 40994 | DNSSD Control | Server registering...,
    02/29/20 13:54:50 | 22011 | Notification Control | Creating...,
    02/29/20 13:54:50 | 59064 | Store Control | Creating...,
    02/29/20 13:54:50 | 43447 | Location Control | Creating...,
    02/29/20 13:54:50 | 28936 | WebOAuth Control | Creating...,
    02/29/20 13:54:50 | 40321 | Calendar Control | Creating...,
    02/29/20 13:54:50 | 34407 | VariableManager | [Calendar\Planned presence] = false,
    02/29/20 13:54:50 | 26586 | VariableManager | [Calendar\Planned absence] = false,
    02/29/20 13:54:50 | 14216 | Event Control | Creating...,
    02/29/20 13:54:50 | 00000 | Kernel | Initializing Complete,
    02/29/20 13:54:50 | 00000 | Kernel | Creating message thread...,
    02/29/20 13:54:50 | 00000 | EventManager | Creating event thread...,
    02/29/20 13:54:50 | 00000 | TimerPool | Creating timer thread...,
    02/29/20 13:54:50 | 00000 | DataServer | Starting server...,
    02/29/20 13:54:50 | 00000 | Kernel | *** IPS READY,
    >> Press CTRL+C to initiate shutdown!,
    02/29/20 13:54:51 | 40994 | DNSSD Control | Server is running!,
    Im Verbindungsassistenten sehe ich dann auch mehrere Server. Wie kommt das zustande?

    Leider habe ich im Forum nichts zu meinem Problem gefunden. Es ist auch sehr speziell, vielleicht könnt ihr mir dennoch helfen.

    Vielen Dank im Voraus.

    Viele Grüße

    Leif

  2. #2
    Registriert seit
    Feb 2005
    Ort
    Lübeck
    Beiträge
    22,536

    Hast du Password in der .symcon Datei korrekt base64 kodiert?

    paresy

  3. #3
    Registriert seit
    Nov 2017
    Beiträge
    4

    Ja, habe ich. Geprüft auch über Base64 Decode and Encode - Online

    Mir gibt auch zu denken, dass er keine Lizenzinformationen findet (Cannot verify license. Running in Demo mode.). Die habe ich ja auch eingegeben.

  4. #4
    Registriert seit
    Nov 2017
    Beiträge
    4

    Ich habe weiter geforscht:

    Wenn ich den Container mit -p 3777:3777 starte, dann sind schon mal die mDNS Fehler im Log verschwunden. Liegt also an -- net=host.

    Der Fehler mit der Anmeldung und der Lizenz besteht weiter. Ich habe jetzt im Container getestet:
    ls -al /root/.symcon

    Ausgabe:
    -rw-r--r-- 1 root root 254 Feb 29 13:42 /root/.symcon

    Entspricht also 644. Ist das ausreichend?

    Auch bei "Detected locale: " steht nichts im Log.

    Woran könnte es noch liegen, dass die Datei nicht richtig gelesen wird?

  5. #5
    Registriert seit
    Nov 2017
    Beiträge
    4

    Es war so ein doofer Fehler. Ich greife per VPN auf den Pi zu. Wegen der Bildschirmauflösung wurde wohl der Code bei License umgebrochen. Dadurch konnte die Datei wohl nicht gelesen werden. Oh jeh. Aber vielleicht hilft dieser Thread denjenigen, die Symcon in einem Docker Container auf einem Raspberry PI laufen lassen wollen.

    Den Fehler mit der locale habe ich auch behoben. Ich hänge das Dockerfile nochmal an:

    Code:
    # -----------------------------------------------------------------------------
    # Based on tommi2day/symcon
    # Based on Dockerfile from Dieter Poessling (https://www.symcon.de/forum/threads/26294-IP-Symcon-via-Docker-Engine?p=259037#post259037)
    # -----------------------------------------------------------------------------
    
    FROM raspbian/stretch
    
    ENV TZ=Europe/Berlin
    
    RUN \
        apt-get update &&  apt-get upgrade -y
    
    RUN \
        apt-get -y install dialog apt-utils dpkg
    
    RUN \
        apt-get -y install wget gnupg2 locales tzdata
     
      
    RUN \
        wget -qO - http://apt.symcon.de/symcon.key | apt-key add - && \
        echo "deb http://apt.symcon.de/ stable rpi" | tee /etc/apt/sources.list.d/symcon.list && \
        apt-get update && apt-get -y install symcon 
    
    RUN \
        cp -R /usr/share/symcon /usr/share/symcon.org &&\
        cp -R /var/lib/symcon /var/lib/symcon.org &&\
        cp -R /root /root.org
       
    #Clean-Up    
    RUN \
        apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* 
    
    #Set locale
    RUN \
        sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen \
        && dpkg-reconfigure --frontend=noninteractive locales \
        && update-locale LANG=de_DE.UTF-8
    
    ENV LANG de_DE.UTF-8 
    ENV LC_ALL de_DE.UTF-8  
      
    #Setup timezone
    #Change for your timezone
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime 
    
    RUN echo $TZ | tee /etc/timezone \
        && dpkg-reconfigure --frontend noninteractive tzdata 
    
    COPY ["docker_entrypoint.sh","set_password.sh","/usr/bin/"]
    
    RUN \
        chmod 700 /usr/bin/docker_entrypoint.sh /usr/bin/set_password.sh
    
    VOLUME \
        /root \
        /var/log/symcon \
        /var/lib/symcon
    
    # Nur als Hinweis für ports (-P nutzt diese); besser: --net=host oder -p 3777 etc bei docker run
    EXPOSE  3777 82
    
    #homematic
    EXPOSE 2001 2010 5544
    
    WORKDIR /root
    ENTRYPOINT ["/usr/bin/docker_entrypoint.sh"]
    Die Dateien (docker_entrypoint.sh usw) findet man bei: GitHub - Tommi2Day/ipsymcon-docker

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 10.09.19, 08:14
  2. Symcon Docker Container ohne Logrotate
    Von OdroidXU4 im Forum Allgemeine Diskussion
    Antworten: 2
    Letzter Beitrag: 02.09.19, 11:20
  3. Docker Container beim Start mitstarten
    Von Ian im Forum Allgemeine Diskussion
    Antworten: 5
    Letzter Beitrag: 14.03.19, 15:29
  4. IPSView Backup im Docker Container einspielen
    Von ramapa im Forum IPSStudio & IPSView
    Antworten: 3
    Letzter Beitrag: 15.08.18, 22:37
  5. Synology Docker mit Windows Container
    Von wolfgang im Forum Alles rund um den PC
    Antworten: 6
    Letzter Beitrag: 23.04.16, 08:07