Go to file
Dominik Meyer b31c33ffed
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
build: switched building on different nodes
2024-09-14 13:17:45 +02:00
scripts FIX: fixed destroying comma 2024-06-06 09:30:49 +02:00
.drone.yml build: switched building on different nodes 2024-09-14 13:17:45 +02:00
Containerfile FIX: fhem uses still master as main branch :( 2024-06-07 14:45:19 +02:00
LICENSE ADD: initial version 2024-01-12 11:12:27 +01:00
README.md ADD: link to prebuild images 2024-01-28 09:31:23 +01:00

lang
EN_US

FHEM Home Automation System Container Image

Description

FHEM (Flexible Home Automation) is a Perl server for home automation. It is used to automate tasks in the household like switching lamps, shutters, heating, etc. and to log events like temperature, humidity, power consumption.

Attention

This image is intended for my personal use in the first place.

If you find it usefull I am happy but I will not devide from my personal goals to support other people.

Security

  • fhem is runing as the fhem user in the container
  • the root filesystem within the container can be mounted read-only (no updates from within fhem possible)
  • image updates also update all fhem related files
  • use of configDB and logDB is mandatory
  • no nodejs crap installed by default

Supported Architectures

  • amd64
  • arm64

External Modules

I am using some external modules. As you can not add remote repositories at runtime I am including them within the image.

Updates

I am trying to update the image weekly as long as my private kubernetes cluster is available. So I do not promise anything and do not rely your business on this image.

Prerequisities

A container runtime like

  • docker
  • podman
  • kubernetes

Container Parameters

  • CONFIG_DATABASE_ENGINE - which database engine to use for configDB (supported: sqlite and mysql)
  • CONFIG_DATABASE - the database name (in case of sqlite the path to the db file)
  • CONFIG_DATABASE_USER - the username required to login to the database server (in case of sqlite ignored)
  • CONFIG_DATABASE_PASS - the password requried to login to the database server (in case of sqlite ignored)
  • LOG_DATABASE_ENGINE - the database engine to use for logDB (supported: sqlite and mysql)
  • LOG_DATABASE - the database name (in case of sqlite the path to the db file)
  • LOG_DATABASE_USER - the username required to login to the database server (in case of sqlite ignored)
  • LOG_DATABASE_PASS - the password requried to login to the database server (in case of sqlite ignored)

Volumes

In case you want to use sqlite you have to mount a volume at /mnt/ within the container and use it as the directory for you database.

Source Repository

Prebuild Images

Authors

  • Dominik Meyer - Initial work

License

This project is licensed under the MIT License - see the LICENSE file for details.