From ede58b8cde48dec2f90a60140ce29a750e1fe5b4 Mon Sep 17 00:00:00 2001 From: sidey79 <7968127+sidey79@users.noreply.github.com> Date: Sun, 10 Nov 2024 17:02:34 +0100 Subject: [PATCH] docs[bookworm]: Updated doc for v5 --- .github/workflows/build.yml | 2 +- README.md | 48 +++++++-- docker-compose.yml | 194 ++++++++++++++++++++++++++++++++++-- 3 files changed, 225 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index a91810bb..3abf129c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -389,7 +389,7 @@ jobs: needs: [test_build, cpan_build] strategy: matrix: - dockerfile: [-bullseye, -threaded-bullseye, -bookworm, -threaded-bookworm] + dockerfile: [-bookworm, -threaded-bookworm] env: TAG_LATEST: ${{ (contains(matrix.dockerfile,'threaded') || github.event.release.prerelease == 1) && 'false' || 'auto' }} # Steps represent a sequence of tasks that will be executed as part of the job diff --git a/README.md b/README.md index eab320aa..34422122 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A Docker image for [FHEM](https://fhem.de/) house automation system, based on De ## Installation Pre-build images are available on [Docker Hub](https://hub.docker.com/r/fhem/fhem) -Reccomended pulling from [Github Container Registry](https://github.com/orgs/fhem/packages) to allow automatic image for your system. +Recommended pulling from [Github Container Registry](https://github.com/orgs/fhem/packages) to allow automatic image for your system. ### From Docker Hub @@ -20,23 +20,37 @@ Reccomended pulling from [Github Container Registry](https://github.com/orgs/fhe #### Image with serval services installed -Updated versions based on +##### Version 5 (beta) + +- debian bookworm +- Perl 5.36.3 (optional threaded) +- NodeJS 18 LTS +- Python 3.9.2 +- Python 2.7.18 +- Supported Plattforms: linux/amd64, linux/arm/v7, linux/arm64 +- NOTE: alexa-fhem, alexa-cookie, gassistant-fhem, homebridge, homebridge-fhem, tradfri-fhem are not installed per default! + + docker pull ghcr.io/fhem/fhem-docker:5-bullseye + docker pull ghcr.io/fhem/fhem-docker:5-threaded-bullseye + +##### Version 4 - EOL Jan 2025 + - debian bullseye - Perl 5.36.3 (optional threaded) - NodeJS 18 LTS - Python 3.9.2 - Python 2.7.18 - Supported Plattforms: linux/amd64, linux/arm/v7, linux/arm64 -- NOTE: alexa-fhem, alexa-cookie, gassistant-fhem, homebridge, homebridge-fhem, tradfri-fhem are not installed per default! +- NOTE: alexa-fhem, alexa-cookie, gassistant-fhem, homebridge, homebridge-fhem, tradfri-fhem are not installed per default! - docker pull ghcr.io/fhem/fhem-docker:4-bullseye - docker pull ghcr.io/fhem/fhem-docker:4-threaded-bullseye + docker pull ghcr.io/fhem/fhem-docker:4-bookworm + docker pull ghcr.io/fhem/fhem-docker:4-threaded-bookworm If you are using 3rd Party modules which are not available on the FHEM svn repository, you may need this image, because it has more perl modules preinstalled. To let this image work correctly, you need as least a FHEM revision 25680 or newer. -##### Not updated anymore since Jan 2024 +##### Version 3 - EOL Jan 2024 - debian buster - Perl 5.28.1 @@ -53,7 +67,23 @@ To let this image work correctly, you need as least a FHEM revision 25680 or new #### Image with perl core services installed -- debian bullseye + +##### Version 5 (beta) + +- debian bookworm +- Perl 5.36.3 (optional threaded) +- Python 3.9.2 +- Python 2.7.18 +- Supported Plattforms: linux/amd64, linux/arm/v7, linux/arm64, linux/i386, + + docker pull ghcr.io/fhem/fhem-minimal-docker:5-bookworm + docker pull ghcr.io/fhem/fhem-minimal-docker:5-threaded-bookworm + +If you are using only modules which are provided via FHEM svn repository, you mostly can use this smaller image. + +##### Version 4 - EOL Jan 2025 + +- debian bullseye - Perl 5.36.3 (optional threaded) - Python 3.9.2 - Python 2.7.18 @@ -64,7 +94,7 @@ To let this image work correctly, you need as least a FHEM revision 25680 or new If you are using only modules which are provided via FHEM svn repository, you mostly can use this smaller image. -##### Not updated anymore since Jan 2024 +##### Version 3 - EOL Jan 2024 - debian buster - Perl 5.28.1 @@ -77,7 +107,7 @@ If you are using only modules which are provided via FHEM svn repository, you mo #### To start your container right away: - docker run -d --name fhem -p 8083:8083 ghcr.io/fhem/fhem-docker:4-bullseye + docker run -d --name fhem -p 8083:8083 ghcr.io/fhem/fhem-docker:5-bookworm #### Storage Usually you want to keep your FHEM setup after a container was destroyed (or re-build) so it is a good idea to provide an external directory on your Docker host to keep that data: diff --git a/docker-compose.yml b/docker-compose.yml index e3d63a65..06abfb40 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,183 @@ services: # # Minimum example w/o any custom environment variables - fhem: + fhem_5_a: + image: ghcr.io/fhem/fhem-docker:5-bookworm + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + + # Example w/ custom environment variables + fhem_5_b: + image: ghcr.io/fhem/fhem-docker:5-bookworm + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + environment: + FHEM_UID: 6061 + FHEM_GID: 6061 + TIMEOUT: 10 + RESTART: 1 + TELNETPORT: 7072 + TZ: Europe/Berlin + # CONFIGTYPE: configDB + + # Example to connect USB to the container w/o + # privileged mode (preferred method) + fhem_5_c: + image: ghcr.io/fhem/fhem-docker:5-bookworm + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + devices: + - "/dev/ttyUSB0:/dev/ttyUSB0" + environment: + FHEM_UID: 6061 + FHEM_GID: 6061 + TIMEOUT: 10 + RESTART: 1 + TELNETPORT: 7072 + TZ: Europe/Berlin + + # Example to connect USB to the container w/ + # privileged mode (not recommended for security reasons) + fhem_5_d: + image: ghcr.io/fhem/fhem-docker:5-bookworm + restart: always + privileged: true + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + - "/dev/ttyUSB0:/dev/ttyUSB0" + environment: + FHEM_UID: 6061 + FHEM_GID: 6061 + TIMEOUT: 10 + RESTART: 1 + TELNETPORT: 7072 + TZ: Europe/Berlin + + # Example for privileged container w/ + # host network (not recommended for security reasons) + fhem_5_e: + image: ghcr.io/fhem/fhem-docker:5-bookworm + restart: always + privileged: true + network_mode: "host" + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + environment: + FHEM_UID: 6061 + FHEM_GID: 6061 + TIMEOUT: 10 + RESTART: 1 + TELNETPORT: 7072 + TZ: Europe/Berlin + + + # example with adding a cpan packages to your image + fhem_5_f: + build: + context: . + dockerfile_inline: | + FROM ghcr.io/fhem/fhem-docker:5-bookworm + RUN <> + EOF + pull_policy: build + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + + # example with extending debian packages to your image + fhem_5_g: + build: + context: . + dockerfile_inline: | + FROM ghcr.io/fhem/fhem-docker:5-bookworm + RUN < + LC_ALL=C apt-get autoremove -qqy && LC_ALL=C apt-get clean + EOF + pull_policy: build + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + + # example with extending npm packages to your image + fhem_5_h: + build: + context: . + dockerfile_inline: | + FROM ghcr.io/fhem/fhem-docker:5-bookworm + RUN < + npm cache clean --force + EOF + pull_policy: build + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + + + # example with extending python packages to your image + fhem_5_i: + build: + context: . + dockerfile_inline: | + FROM ghcr.io/fhem/fhem-docker:5-bookworm + RUN < + EOF + pull_policy: build + restart: always + networks: + - net + ports: + - "8083:8083" + volumes: + - "./fhem/:/opt/fhem/" + + + + + #### + # HINT: use only ONE of the example "fhem:" service + # definitions below ! + # + + # Minimum example w/o any custom environment variables + fhem_4_a: image: ghcr.io/fhem/fhem-docker:4-bullseye restart: always networks: @@ -33,7 +209,7 @@ services: - "./fhem/:/opt/fhem/" # Example w/ custom environment variables - fhem: + fhem_4_b: image: ghcr.io/fhem/fhem-docker:4-bullseye restart: always networks: @@ -53,7 +229,7 @@ services: # Example to connect USB to the container w/o # privileged mode (preferred method) - fhem: + fhem_4_c: image: ghcr.io/fhem/fhem-docker:4-bullseye restart: always networks: @@ -74,7 +250,7 @@ services: # Example to connect USB to the container w/ # privileged mode (not recommended for security reasons) - fhem: + fhem_4_d: image: ghcr.io/fhem/fhem-docker:4-bullseye restart: always privileged: true @@ -95,7 +271,7 @@ services: # Example for privileged container w/ # host network (not recommended for security reasons) - fhem: + fhem_4_e: image: ghcr.io/fhem/fhem-docker:4-bullseye restart: always privileged: true @@ -114,7 +290,7 @@ services: # example with adding a cpan packages to your image - fhem: + fhem_4_f: build: context: . dockerfile_inline: | @@ -132,7 +308,7 @@ services: - "./fhem/:/opt/fhem/" # example with extending debian packages to your image - fhem: + fhem_4_g: build: context: . dockerfile_inline: | @@ -152,7 +328,7 @@ services: - "./fhem/:/opt/fhem/" # example with extending npm packages to your image - fhem: + fhem_4_h: build: context: . dockerfile_inline: | @@ -172,7 +348,7 @@ services: # example with extending python packages to your image - fhem: + fhem_4_i: build: context: . dockerfile_inline: |