FHEM Forum

FHEM => Sonstiges => Thema gestartet von: itcompi am 01 November 2017, 19:51:53

Titel: Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: itcompi am 01 November 2017, 19:51:53
Hi,

ich versuche mich immer noch daran mein System auf Docker umzustellen. Dabei habe ich mir eine Dockerfile und eine Compose file angelegt.


FROM resin/rpi-raspbian:stretch

MAINTAINER itcompi

ENV FHEM_VERSION 5.8
ENV DEBIAN_FRONTEND noninteractive
ENV port 7072

# See https://debian.fhem.de/ and https://forum.fhem.de/index.php?topic=27679.0 for details

# Install dependencies
RUN apt-get update && apt-get upgrade -y --force-yes && apt-get install -y --force-yes --no-install-recommends apt-utils
RUN apt-get -y --force-yes install \
perl \
perl-base \
wget \
git \
apt-transport-https \
sudo etherwake \
dfu-programmer \
build-essential \
snmpd \
snmp \
vim \
telnet \
usbutils \
sqlite3

# Install perl packages
RUN apt-get -y --force-yes install \
libavahi-compat-libdnssd-dev \
libalgorithm-merge-perl \
libclass-dbi-mysql-perl \
libclass-isa-perl \
libcommon-sense-perl \
libdatetime-format-strptime-perl \
libdbi-perl \
libdevice-serialport-perl \
libdpkg-perl \
liberror-perl \
libfile-copy-recursive-perl \
libfile-fcntllock-perl \
libio-socket-ip-perl \
libio-socket-ssl-perl \
libjson-perl \
libjson-xs-perl \
libmail-sendmail-perl \
libsocket-perl \
libswitch-perl \
libsys-hostname-long-perl \
libterm-readkey-perl \
libterm-readline-perl-perl \
libwww-perl \
libxml-simple-perl \
libdbd-sqlite3-perl \
libtext-diff-perl \
libcgi-pm-perl

# Configure timezone
RUN echo Europe/Berlin > /etc/timezone && dpkg-reconfigure tzdata

WORKDIR "/opt"

# Install fhem
RUN wget http://fhem.de/fhem-5.8.tar.gz && tar -zxvf fhem-5.8.tar.gz && rm -r fhem-5.8.tar.gz && mv fhem-5.8 fhem
#RUN userdel fhem

WORKDIR "/opt/fhem"

RUN dir

COPY data/fhem*.cfg ./
COPY start.sh ./

EXPOSE 8083 7072

CMD bash /opt/fhem/start.sh


version: '2'

services:
    fhem:
        expose:
            - "8083"
            - "7072"
        ports:
            - "8083:8083"
            - "7072:7072"
        build: fhem
        privileged: true
        stdin_open: true
        tty: true
        # devices:
        #   - "/dev/ttyUSB0:/dev/ttyUSB0"
        volumes:
            - ./fhem/start.sh:/opt/fhem/start.sh
            - ./fhem/log/:/opt/fhem/log
            - ./fhem/backup/:/opt/fhem/backup
            - ./fhem/data/fhem.cfg:/opt/fhem/fhem.cfg
            - ./fhem/data/fhem_interfaces.cfg:/opt/fhem/fhem_interfaces.cfg
            - ./fhem/data/fhem_utilities.cfg:/opt/fhem/fhem_utilities.cfg
            - ./fhem/data/fhem_bvg.cfg:/opt/fhem/fhem_bvg.cfg
            - ./fhem/data/fhem_wc.cfg:/opt/fhem/fhem_wc.cfg
            - ./fhem/data/fhem_guest.cfg:/opt/fhem/fhem_guest.cfg
            - ./fhem/data/fhem_rubbish.cfg:/opt/fhem/fhem_rubbish.cfg
            - ./fhem/data/fhem_living.cfg:/opt/fhem/fhem_living.cfg
            - ./fhem/data/fhem_dining.cfg:/opt/fhem/fhem_dining.cfg
            - ./fhem/data/fhem_hall.cfg:/opt/fhem/fhem_hall.cfg
            - ./fhem/data/fhem_bathroom.cfg:/opt/fhem/fhem_bathroom.cfg
            - ./fhem/data/fhem_parents.cfg:/opt/fhem/fhem_parents.cfg
            - ./fhem/data/fhem_child1.cfg:/opt/fhem/fhem_child1.cfg
            - ./fhem/data/fhem_child2.cfg:/opt/fhem/fhem_child2.cfg
            #- ./fhem/data/FHEM/controls.txt:/opt/fhem/FHEM/controls.txt
            #- ./fhem/data/FHEM/99_myUtils.pm:/opt/fhem/FHEM/99_myUtils.pm
            #- ./fhem/data/contrib/dblog/db.conf:/opt/fhem/contrib/dblog/db.conf
        networks:
            - hqx7vr-network
        # depends_on:
        #     - "mysql"

networks:
  hqx7vr-network:
      driver: bridge


Nachdem ich docker-compose build & up gemacht habe kommt folgende Fehlermeldung und ich weiß nicht wie ich die weg bekomme. Der Container fährt sofort runter. Die Datei ist jedoch vorhanden...

Fehlermeldung:
Can't locate RTypes.pm in @INC (you may need to install the RTypes module) (@INC contains: . /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.24.1 /usr/local/share/perl/5.24.1 /usr/lib/arm-linux-gnueabihf/perl5/5.24
/usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.24 /usr/share/perl/5.24 /usr/local/lib/site_perl /usr/lib/arm-linux-gnueabihf/perl-base) at fhem.pl line 511.


Hat jemand eine Ahnung?
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: betateilchen am 01 November 2017, 20:16:11
vermutlich wird FHEM nicht aus dem Installationsverzeichnis gestartet, in dem die fhem.pl liegt.
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: itcompi am 01 November 2017, 20:48:30
Nein. Ich führe die start.sh Datei aus. Diese hat nur folgenden Inhalt:


#!/bin/bash

echo "Start FHEM"
sudo perl fhem.pl fhem.cfg
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: rudolfkoenig am 01 November 2017, 21:14:51
Die fhem.cfg enthaelt keine Zeile mit "attr global modpath XX", wobei XX normalerweise . ist.
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: Wernieman am 01 November 2017, 21:23:20
Wobei meine Empfehlung eigentlich wäre, die config in Docker externe zu legen ... oder wenigstens in ein Volumen. So das ein internes Save auch die Datei richtig sichert ...

Und wozu brauchst Du IM fhem-Docker ein vim?
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: ThoTo am 01 November 2017, 22:02:03
Zitat von: Wernieman am 01 November 2017, 21:23:20
Wobei meine Empfehlung eigentlich wäre, die config in Docker externe zu legen ... oder wenigstens in ein Volumen. So das ein internes Save auch die Datei richtig sichert ...

Und wozu brauchst Du IM fhem-Docker ein vim?

Dem Compose-File des Threaderstellers entnehme ich dass er das eh macht. Die cfg-Files liegen am Docker-Host.
An dieser Stelle würde ich eher anraten auf ein fhem.cfg File zu reduzieren.
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: itcompi am 01 November 2017, 22:25:16
Zitat von: rudolfkoenig am 01 November 2017, 21:14:51
Die fhem.cfg enthaelt keine Zeile mit "attr global modpath XX", wobei XX normalerweise . ist.

Das war es. Danke dir! Ich habe nun das ganze mit der demo probiert. Mit dieser läuft es auch. Nun muss ich "nur" noch schauen wo in meiner config etwas schief läuft :)
Titel: Antw:Docker Fhem 5.8 - Can't locate RTypes.pm
Beitrag von: itcompi am 01 November 2017, 22:29:55
Zitat von: ThoTo am 01 November 2017, 22:02:03
Dem Compose-File des Threaderstellers entnehme ich dass er das eh macht. Die cfg-Files liegen am Docker-Host.
An dieser Stelle würde ich eher anraten auf ein fhem.cfg File zu reduzieren.

Danke für den Tipp. Ich dachte anfangs es macht sinn die einzelnen Bereiche der Übersichtlichkeit halber zu trennen. Heute bin ich eines besseren belehrt und es macht nur Arbeit.
Die Volumes lege ich entsprechend an. Das sollte nicht das Problem sein.