back to home

fhem / fhem-docker

A basic Docker image for FHEM house automation system, based on Debian Linux.

85 stars
26 forks
4 issues
ShellPerl

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing fhem/fhem-docker in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/fhem/fhem-docker)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

___ Docker image for FHEM A Docker image for FHEM house automation system, based on Debian. Installation Pre-build images are available on Docker Hub Recommended pulling from Github Container Registry to allow automatic image for your system. From Github container registry Image with serval services installed Version 5 • debian bookworm • Perl 5.36.3 (optional threaded) • NodeJS 18.19 LTS • Python 3.11.2 • 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-bookworm docker pull ghcr.io/fhem/fhem-docker:5-threaded-bookworm From Docker Hub You can pull the same image as on gitgub container registry (ghcr) docker pull fhem/fhem:5-bookworm 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! docker pull ghcr.io/fhem/fhem-docker:4-bullseye docker pull ghcr.io/fhem/fhem-docker:4-threaded-bullseye 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. Version 3 - EOL Jan 2024 • debian buster • Perl 5.28.1 • NodeJS 16 LTS • Python 3 • 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:3-buster are available. Image with perl core services installed Version 5 (beta) • debian bookworm • Perl 5.36.3 (optional threaded) • Python 3.11.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 • Supported Plattforms: linux/amd64, linux/arm/v7, linux/arm64, linux/i386, docker pull ghcr.io/fhem/fhem-minimal-docker:4-bullseye docker pull ghcr.io/fhem/fhem-minimal-docker:4-threaded-bullseye If you are using only modules which are provided via FHEM svn repository, you mostly can use this smaller image. Version 3 - EOL Jan 2024 • debian buster • Perl 5.28.1 • Supported Plattforms: linux/amd64, linux/arm/v7, linux/arm64, linux/i386, docker pull ghcr.io/fhem/fhem-minimal-docker:3-buster are available. To start your container right away: 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: docker run -d --name fhem -p 8083:8083 -v /some/host/directory:/opt/fhem ghcr.io/fhem/fhem-docker:5-bookworm You will find more general information about using volumes from the Docker documentation for Use volumes and Bind mounts. It is also possible to mount CIFS mounts directly. Access FHEM After starting your container, you may now start your favorite browser to open one of FHEM's web interface variants like . You may want to have a look to the FHEM documentation sources for further information about how to use and configure FHEM. Update strategy Note that any existing FHEM installation you are mounting into the container will _not_ be updated automatically, it is just the container and its system environment that can be updated by pulling a new FHEM Docker image. This is because the existing update philosophy is incompatible with the new and state-of-the-art approach of containerized application updates. That being said, consider the FHEM Docker image as a runtime environment for FHEM which is also capable to install FHEM for any new setup from scratch. Customize your container configuration Performance implications The FHEM log file is mirrored to the Docker console output in order to give input for any Docker related tools. However, if the log file becomes too big, this will lead to some performance implications. For that reason, the default value of the global attribute is different from the FHEM default configuration and set to a daily file ( ). It is highly recommended to keep this setting. Please note that FileLog are only patched if fhem is fresh installed. Devices might still need to be checked and adjusted manually if you would like to properly watch the log file from within FHEM. Add custom packages Since version 4 To extend the image with a custom package for example, you have to use standard docker tools. If you are defining a docker-compose.yml file describing your configuration, then you can add a build definition instead of starting the image from the registry: With this, you will create a new image, and install any tool which you additional need: See more examples in our docker-compose.yml file. Important: If you need additional Perl CPAN Modules, you must install them directly from CPAN and not via apt! till version 3 (deprecated) Don't do this unless you really know what this does! You may define several different types of packages to be installed automatically during initial start of the container by adding one of the following parameters to your container run command: • Debian APT packages: • Perl CPAN modules: • Python PIP packages: • Node.js NPM packages: Directory and file permissions For security and functional reasons, directory and file permissions for FHEM will be set during every…