MoinMoin Logo
  • Kommentare
  • Geschützte Seite
  • Menu
    • Navigation
    • AktuelleÄnderungen
    • SeiteFinden
    • ÜbersichtsKarte
    • Help
    • HilfeInhalt
    • HilfeZurMoinWikiSyntax
    • Anzeige
    • Dateianhänge
    • Info
    • Rohform
    • Druckansicht
    • Editieren
    • Laden
    • Speichern
  • Anmelden

Navigation

  • AktuelleÄnderungen
  • SeiteFinden
  • HilfeInhalt
Revision 106 vom 2022-10-07 11:02:42
  • Eigenen Debian-Container mit fhem erzeugen

Eigenen Debian-Container mit fhem erzeugen

1. Den Container als Daemon laufen lassen

docker run -d --network fhem-netzwerk --restart unless-stopped --name fhem2 --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian:bullseye

2. Konsole im Container ausführen

docker exec -it fhem2 /bin/bash

3. Container für fhem vorbereiten (natürlich im Konsolenfenster!)

apt-get update && apt-get -y dist-upgrade && apt-get -y install -f init procps cron mc wget vim bash-completion perl-base libdevice-serialport-perl libwww-perl libio-socket-ssl-perl libcgi-pm-perl libjson-perl sqlite3 libdbd-sqlite3-perl libtext-diff-perl libtimedate-perl libmail-imapclient-perl libgd-graph-perl libtext-csv-perl libxml-simple-perl liblist-moreutils-perl fonts-liberation libimage-librsvg-perl libgd-text-perl libsocket6-perl libio-socket-inet6-perl libmime-base64-perl libimage-info-perl libusb-1.0-0-dev libnet-server-perl libdate-manip-perl libhtml-treebuilder-xpath-perl libmojolicious-perl libxml-bare-perl libauthen-oath-perl libconvert-base32-perl libmodule-pluggable-perl libnet-bonjour-perl libcrypt-urandom-perl nodejs npm libnet-dbus-perl sudo zip unzip tar avrdude libdbd-mysql-perl iputils-ping net-tools libxml-parser-perl libxml-xpath-perl usbutils curl telnet jq locales syslog-ng

timedatectl set-timezone Europe/Berlin

sed -i -e 's/# de_DE.UTF-8 UTF-8/de_DE.UTF-8 UTF-8/' /etc/locale.gen
dpkg-reconfigure -f noninteractive locales
update-locale LANG=de_DE.UTF-8

mkdir -p ~/_download
cd ~/_download

wget http://fhem.de/fhem-6.1.deb

apt-get -y install -f ./fhem-6.1.deb

cp /opt/fhem/contrib/init-scripts/fhem.service /etc/systemd/system/
systemctl daemon-reload

systemctl stop fhem 
rm -rf /opt/fhem/
mkdir -p /opt/fhem
chown fhem:dialout /opt/fhem

useradd --home-dir /home/hss --groups dialout --create-home --shell /bin/bash --user-group hss

su hss

cd
mkdir ~/scripts
cd scripts
wget https://raw.githubusercontent.com/fhem/fhem-docker/dev/src/health-check.sh
chmod 755 health-check.sh

4. Aus dem nun entstandenen Docker Container ein eigenes Image ("bullseye_fhem") machen:

docker container stop fhem2

docker commit $(docker ps  -a | grep fhem2 | cut -d' ' -f1) bullseye_fhem
docker save bullseye_fhem > /home/hss/bullseye_fhem.tar

5. Das neu entstandene Image in Betrieb nehmen:

# Falls das Image aus einem Backup eingespielt werden soll:
# docker load --input bullseye_fhem.tar

docker run -d --network fhem-netzwerk --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro --name fhem -e FHEM_UID=$(id -u hss) -e FHEM_GID=$(id -g hss) -p 7072:7072 -p 8083:8083 -p 8084:8084 -p 8085:8085 -p 8088:8088 -p 8383:8383 -v /fhem-config:/opt/fhem --device=/dev/ttyUSB0 --device=/dev/ttyUSB1 --device=/dev/ttyUSB2 --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A106YICN-if00-port0 --device=/dev/serial/by-id/usb-FTDI_FT232R_USB_UART_AH06NIQN-if00-port0 --device=/dev/serial/by-id/usb-Silicon_Labs_CP2104_USB_to_UART_Bridge_Controller_01304F5B-if00-port0 --restart unless-stopped --health-cmd /home/hss/scripts/health-check.sh --health-interval 30s --health-retries 3 --health-timeout 10s bullseye_fhem

6. Rechte anpassen

docker exec -it fhem /bin/bash
systemctl stop fhem
chown -R fhem:dialout /opt/fhem
systemctl start fhem
systemctl enable fhem

timedatectl set-timezone Europe/Berlin

5. signal-cli installieren (eigener Docker Container)

docker pull bbernhard/signal-cli-rest-api
docker run -d  --network fhem-netzwerk --restart unless-stopped --name signal-cli -v /signal-cli-config:/home/.local/share/signal-cli -p 8080:8080 -e MODE=json-rpc bbernhard/signal-cli-rest-api:latest


KategorieRaspberry

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01