Autor Thema: Fhem Docker Image  (Gelesen 8358 mal)

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 5475
Antw:Fhem Docker Image
« Antwort #30 am: 15 November 2017, 20:25:08 »
Wenn Du ./irgendeinverzeichnis angiebst, dann ist dieses eine "relative-Pfadangabe", dagegen ist ein /irgendeinverzeichnis eine Absolute vom root (/) aus gesehen. Der Unterschied ist "nur" der ".".

Deine Angabe "/fhem/data" bedeutet also, suche auf dem Host nach /fhem/data, vom root aus gesehen. Wenn Du jetzt auf der Konsole ein "ls /fhem/data" eingibst, wird Dein Pi bestimmt "meckern". Wenn Du obiges gelesen hast, solltest Du wissen warum.
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 784
Antw:Fhem Docker Image
« Antwort #31 am: 16 November 2017, 06:08:51 »
Guten Morgen,

ich habe es erstmal soweit, denn es war nicht die Pfad Angabe die war doch richtig so,
es lag an den Rechten für Fhem denn die wurde im gemappten Volumen nicht übernommen.

root@87452f5a1149:/# ls -l /opt/fhem
total 284
drwxr-xr-x  6 1001 root     20480 Nov 15 17:50 FHEM
-rw-r--r--  1 1001 root     35751 Nov 15 07:56 MAINTAINER.txt
-rw-r--r--  1 1001 root       935 Nov 15 07:56 README_DEMO.txt
-rw-r--r--  1 1001 root     39189 Nov 15 07:56 configDB.pm
drwxr-xr-x 40 1001 root      4096 Nov 15 17:50 contrib
drwxr-xr-x  3 1001 root      4096 Nov 15 17:50 demolog
drwxr-xr-x  4 1001 root      4096 Nov 15 17:50 docs
-rw-r--r--  1 1001 root      1229 Nov 16 04:54 fhem.cfg
-rw-r--r--  1 1001 root     15740 Nov 15 07:56 fhem.cfg.demo
-rwxr-xr-x  1 1001 root    141228 Nov 15 07:56 fhem.pl
drwxr-xr-x  2 1001 root      4096 Nov 16 04:54 log
drwxr-xr-x  3 1001 dialout   4096 Nov 16 04:54 restoreDir
-rw-r--r--  1 1001 root         0 Nov 15 14:30 testH
drwxr-xr-x  8 1001 root      4096 Nov 15 17:50 www

Ich versuche gerade einen Weg zu finden, das die Rechte für Fhem über compose gesetzt werden.

nachtrag: leider finde ich keine so guten Weg, hat jemand eine Idee?

Mfg Steffen

« Letzte Änderung: 16 November 2017, 07:30:07 von Steffen »

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 5475
Antw:Fhem Docker Image
« Antwort #32 am: 16 November 2017, 09:43:13 »
der Container läuft mit root rechten, d.h. die Dateirechte im "Hostsystem" sind nicht relevant. Wie sieht denn jetzt Deine docker-compose aus?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 784
Antw:Fhem Docker Image
« Antwort #33 am: 16 November 2017, 15:57:17 »
Hallo!

Hier meine compose-config:

root@debian:/docker# cat docker-compose.yml
version: '2'
services:
   fhem:
        ports:
            - "8083:8083"
            - "7072:7072"
        image: steffen/fhem3
        volumes:
           - /optH/fhem/:/opt/fhem
root@debian:/docker#

Ich versuche gerade über ein script das über compose gestartet wird, aber das klappt irgendwie auch nicht so recht...

root@debian:/docker# cat /optH/fhem/start.sh                                                                            #!/bin/bash
chown -R fhem /opt/fhem/

/etc/init.d/fhem start
root@debian:/docker#

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 5475
Antw:Fhem Docker Image
« Antwort #34 am: 16 November 2017, 21:01:11 »
/optH/fhem/:/opt/fhemBist Du Dir da mit dem "H" Sicher???

Was sagt denn ein:
ls -lha /optH/fhem/
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 784
Antw:Fhem Docker Image
« Antwort #35 am: 20 November 2017, 05:41:13 »
Guten Morgen!

Leider konnte ich mich erst jetzt melden doch ich hatte die Lösung gefunden und jetzt klappt erstmal alles wie es soll, ich werde mich da noch tiefer einarbeiten
denn das Thema Docker finde ich sehr spannend.

hier mal mein Config wie sie jetzt läuft...

Dockerfile
FROM debian:jessie

MAINTAINER Steffen Ewald <steffen.blogdns@googlemail.com>

ENV FHEM_VERSION 5.8
ENV DEBIAN_FRONTEND noninteractive
ENV TERM xterm

# Install dependencies
RUN apt-get update
RUN apt-get -y --force-yes install apt-utils
RUN apt-get upgrade -y --force-yes
RUN apt-get -y --force-yes install supervisor telnet wget git nano make gcc g++ apt-transport-https sudo perl build-essential snmpd snmp usbutils

# 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

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

RUN wget -qO - https://debian.fhem.de/archive.key | apt-key add -
RUN echo "deb https://debian.fhem.de/nightly ./" > /etc/apt/sources.list.d/fhem.list
RUN apt-get update
RUN apt-get -y --force-yes install fhem
RUN mkdir -p /var/log/supervisor

RUN mkdir /script
RUN mkdir /git_clone
RUN cd /git_clone
RUN wget https://raw.githubusercontent.com/Ewies/docker/master/supervisord.conf
RUN wget https://raw.githubusercontent.com/Ewies/docker_final/master/start.sh
RUN cp supervisord.conf /etc/supervisor/conf.d/supervisord.conf
RUN cp start.sh /script
RUN chmod +x /script/start.sh
# Ports
EXPOSE 8083

docker-compose.yml
version: '2'
services:
   fhem:
        ports:
            - "8083:8083"
            - "7072:7072"
        image: steffen/fhemfinal
        volumes:
           - /optH/fhem/:/opt/fhem
        entrypoint: ./script/start.sh

start.sh
#!/bin/bash

chown -R fhem /opt/fhem/

/usr/bin/supervisord

Mfg Steffen

Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 5475
Antw:Fhem Docker Image
« Antwort #36 am: 20 November 2017, 07:56:41 »
Warum startest Du über den supervisord, wenn Du es auch direkt starten kannst?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline Steffen

  • Sr. Member
  • ****
  • Beiträge: 784
Antw:Fhem Docker Image
« Antwort #37 am: 20 November 2017, 08:19:06 »
Warum startest Du über den supervisord, wenn Du es auch direkt starten kannst?

weil sonst der Container nicht deamon Modus läudt, obwohl ich compose -d starte.
Warum das so ist konnte ich noch nicht vestellen.

Mfg Steffen

Offline FunkOdyssey

  • Hero Member
  • *****
  • Beiträge: 1748
Antw:Fhem Docker Image
« Antwort #38 am: 20 November 2017, 10:49:34 »
Ich stehe gerade wieder vor der gleichen Entscheidung.
Fakt ist: Wenn du FHEM alleine im Container laufen lässt, dann geht das wunderbar. Siehe auch: https://forum.fhem.de/index.php/topic,71928.msg681278.html#msg681278 (Stichwort: nofork-Attribut).

Sobald aber SSH hinzukommt, wird ein Dienst benötigt, der FHEM und SSHD für dich startet und überwacht.
Zwar widerspricht das dem ursprünglichen Docker-Gedanken, aber die meisten FHEM-Container haben im Docker-Hub anscheinend supervisord.

Ich versuche mich gerade krampfhaft daran zu gewöhnen, auf SSHD zu verzichten und per "docker exec" auf die Container zuzugreifen.
Das macht die Container sauberer und schlanker.

Ich bin kein Docker-Profi, aber supervisord ist für mich ein Hilfsmittel, auf das ich gerne verzichten würde.


Offline Wernieman

  • Hero Member
  • *****
  • Beiträge: 5475
Antw:Fhem Docker Image
« Antwort #39 am: 20 November 2017, 12:20:39 »
supervisord wiederspricht, wie Du sagst, 100% dem Docker Gedanke. 1 Container 1 Dienst!

sshd sollte man auch wirklich nicht im Container terminieren lassen. Denn was mache ich, bei einem 2. Container, der Zugriff braucht? container <> VM!

- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Offline LuBeDa

  • Full Member
  • ***
  • Beiträge: 155
Antw:Fhem Docker Image
« Antwort #40 am: 21 November 2017, 19:45:24 »
Hallo,
hat es jemand hinbekommen beim Erstellen eines neuen Containers direkt einmal FHEM zu aktualisieren also quasi einen "update all" Befehl abzusetzen?

Derzeit nehme ich das Dockerfile von:
FROM debian:jessie

MAINTAINER Matthias Kleine <info@haus-automatisierung.com>

Da ist beim Start ein altes FHEM installiert und Module wie z.B. YAAHM fehlen.

Offline ThoTo

  • Full Member
  • ***
  • Beiträge: 151
Antw:Fhem Docker Image
« Antwort #41 am: 23 November 2017, 18:44:48 »
Hallo,
hat es jemand hinbekommen beim Erstellen eines neuen Containers direkt einmal FHEM zu aktualisieren also quasi einen "update all" Befehl abzusetzen?

Derzeit nehme ich das Dockerfile von:
FROM debian:jessie

MAINTAINER Matthias Kleine <info@haus-automatisierung.com>

Da ist beim Start ein altes FHEM installiert und Module wie z.B. YAAHM fehlen.

Schau dir mal mein Github Repo an: https://github.com/t0th0mas/docker-smarthome
Ich habe die Dockerfiles meiner gesamten Umgebung hochgeladen, es fehlen nur noch die gesammelten Readme-Dateien 8)

Du kannst dir damit ein aktuelles FHEM Image bauen inkl. einem initialen Update.

LG Thomas
Intel NUC | Docker | Homematic | Sonoff | Hue

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."
(Albert Einstein)

Offline LuBeDa

  • Full Member
  • ***
  • Beiträge: 155
Antw:Fhem Docker Image
« Antwort #42 am: 24 November 2017, 09:18:48 »
[EDIT] Hat sich erledigt, PEBCAK ;D

Du kannst dir damit ein aktuelles FHEM Image bauen inkl. einem initialen Update.

LG Thomas

Grundsätzlich eine sehr gute Umsetzung, leider hängt er hier:
---> c3978aad2770
Step 9/14 : COPY ./opt/fhem/FHEM/*.pm /tmp/
COPY failed: no source files were specified


Obwohl in dem Verzeichnis zwei *.pm Dateien sind. Den COPY Befehl davor macht er.

Ludger

« Letzte Änderung: 24 November 2017, 09:29:55 von LuBeDa »

Offline ThoTo

  • Full Member
  • ***
  • Beiträge: 151
Antw:Fhem Docker Image
« Antwort #43 am: 24 November 2017, 15:42:22 »
[EDIT] Hat sich erledigt, PEBCAK ;D

Danke für die Rückmeldung  :) Freut mich dass es dann noch geklappt hat!

LG Thomas
Intel NUC | Docker | Homematic | Sonoff | Hue

"Zwei Dinge sind unendlich, das Universum und die menschliche Dummheit, aber bei dem Universum bin ich mir noch nicht ganz sicher."
(Albert Einstein)

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2119
Antw:Fhem Docker Image
« Antwort #44 am: 21 Mai 2019, 21:06:47 »
jemand eine idee wieso DOCKER FHEM meine DIskstation "Volume" auslastet ? 100% CPU 20 Ram 3 von 8 GB
Raspberry PI3 mit allem möglichen.