Größe: 1176
Kommentar:
|
Größe: 4007
Kommentar:
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 1: | Zeile 1: |
= Eigenen Debian-Container mit fhem erzeugen = | = Eigenen Debian-Container mit fhem erzeugen = |
Zeile 6: | Zeile 6: |
docker run -d --name fhem2 --tmpfs /tmp --tmpfs /run --tmpfs /run/lock -v /sys/fs/cgroup:/sys/fs/cgroup:ro jrei/systemd-debian:bullseye | 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 |
Zeile 18: | Zeile 18: |
apt-get update && apt-get -y dist-upgrade && apt-get -y -f install init procps 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 | apt-get update && apt-get -y dist-upgrade && apt-get -y install -f init procps 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 default-jre git curl mc autoconf libtool sudo protobuf-compiler zip unzip tar make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext build-essential asciidoc 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 |
Zeile 20: | Zeile 31: |
4. signal-cli installieren {{{ #cd ~/_download #wget https://svn.fhem.de/fhem/trunk/fhem/contrib/signal/signal_install.sh #chmod 755 signal_install.sh #./signal_install.sh cpan install Protocol::DBus adduser --disabled-password --gecos none signal-cli }}} 4.1 Kurze Unterbrechung: Wenn ausgegeben wird: "Waiting for signal-cli to become ready.........." Mit Strg + C unterbrechen {{{ cd ~/_download wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_arm_linux_hotspot_17_35.tar.gz cd /opt tar zxf ~/_download/OpenJDK17-jdk_arm_linux_hotspot_17_35.tar.gz rm -rf /opt/java mv jdk* java cat >> ~/.bashrc << "EOFJAVA" export JAVA_HOME="/opt/java" EOFJAVA cd ~/_download wget https://downloads.gradle-dn.com/distributions/gradle-7.1-bin.zip rm -rf /opt/gradle mkdir -p /opt/gradle unzip -d /opt/gradle ./gradle-7.1-bin.zip cat >> ~/.bashrc << "EOFPROFILE" export PATH="$PATH:/opt/gradle/gradle-7.1/bin" EOFPROFILE }}} 4.2 Rust installieren {{{ cd ~/_download curl https://sh.rustup.rs -sSf | sh cp /tmp/*/rustup-init ./ chmod 755 rustup-init # Bei der Abfrage: Noch einmal "Enter" drücken! ./rustup-init source ~/.cargo/env reboot }}} 4.3 git installieren (Upgrade) {{{ cd ~/_download cd git git clone https://github.com/git/git.git make prefix=/usr install install-doc install-html install-info }}} 4.4 signal-cli {{{ cd ~/_download git clone https://github.com/AsamK/signal-cli.git cd signal-cli }}} 4.4 zkgroup libs übersetzen {{{ cd ~/_download git clone https://github.com/signalapp/zkgroup.git cd zkgroup git checkout v0.8.2 cd ffi/java make # Fehler am Ende ignorieren! mkdir -p /opt/signal/lib chown -R signal-cli:dialout /opt/signal cp ../../target/release/libzkgroup.so /opt/signal/lib }}} 4.5 libsignal-client übersetzen {{{ cd ~/_download git clone https://github.com/signalapp/libsignal-client.git cd libsignal-client git tag -l git checkout v0.9.8 cd java ./build_jni.sh desktop cp ../target/release/libsignal_jni.so /opt/signal/lib ldconfig }}} 4.6 Libraries ersetzen {{{ cd /opt/signal/lib sudo -u signal-cli zip -u signal-client-java-*.jar libsignal_jni.so sudo -u signal-cli zip -u zkgroup-java-*.jar libzkgroup.so cd ~/_download ./signal_install.sh systemctl start signal }}} |
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 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 default-jre git curl mc autoconf libtool sudo protobuf-compiler zip unzip tar make libssl-dev libghc-zlib-dev libcurl4-gnutls-dev libexpat1-dev gettext build-essential asciidoc 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
4. signal-cli installieren
#cd ~/_download #wget https://svn.fhem.de/fhem/trunk/fhem/contrib/signal/signal_install.sh #chmod 755 signal_install.sh #./signal_install.sh cpan install Protocol::DBus adduser --disabled-password --gecos none signal-cli
4.1 Kurze Unterbrechung:
Wenn ausgegeben wird: "Waiting for signal-cli to become ready.........."
Mit Strg + C unterbrechen
cd ~/_download wget https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17%2B35/OpenJDK17-jdk_arm_linux_hotspot_17_35.tar.gz cd /opt tar zxf ~/_download/OpenJDK17-jdk_arm_linux_hotspot_17_35.tar.gz rm -rf /opt/java mv jdk* java cat >> ~/.bashrc << "EOFJAVA" export JAVA_HOME="/opt/java" EOFJAVA cd ~/_download wget https://downloads.gradle-dn.com/distributions/gradle-7.1-bin.zip rm -rf /opt/gradle mkdir -p /opt/gradle unzip -d /opt/gradle ./gradle-7.1-bin.zip cat >> ~/.bashrc << "EOFPROFILE" export PATH="$PATH:/opt/gradle/gradle-7.1/bin" EOFPROFILE
4.2 Rust installieren
cd ~/_download curl https://sh.rustup.rs -sSf | sh cp /tmp/*/rustup-init ./ chmod 755 rustup-init # Bei der Abfrage: Noch einmal "Enter" drücken! ./rustup-init source ~/.cargo/env reboot
4.3 git installieren (Upgrade)
cd ~/_download cd git git clone https://github.com/git/git.git make prefix=/usr install install-doc install-html install-info
4.4 signal-cli
cd ~/_download git clone https://github.com/AsamK/signal-cli.git cd signal-cli
4.4 zkgroup libs übersetzen
cd ~/_download git clone https://github.com/signalapp/zkgroup.git cd zkgroup git checkout v0.8.2 cd ffi/java make # Fehler am Ende ignorieren! mkdir -p /opt/signal/lib chown -R signal-cli:dialout /opt/signal cp ../../target/release/libzkgroup.so /opt/signal/lib
4.5 libsignal-client übersetzen
cd ~/_download git clone https://github.com/signalapp/libsignal-client.git cd libsignal-client git tag -l git checkout v0.9.8 cd java ./build_jni.sh desktop cp ../target/release/libsignal_jni.so /opt/signal/lib ldconfig
4.6 Libraries ersetzen
cd /opt/signal/lib sudo -u signal-cli zip -u signal-client-java-*.jar libsignal_jni.so sudo -u signal-cli zip -u zkgroup-java-*.jar libzkgroup.so cd ~/_download ./signal_install.sh systemctl start signal