This is a docker image for smfc
. Please visit the GitHub repository of smfc
for more details or for reporting issues.
This image contains the following components:
Alpine Linux
3.20Python
3.12.3ipmitool
1.8.19smartmontools
7.4hddtemp
0.4.3 (forked here https://github.com/vitlav/hddtemp.git)
Some further notes:
smfc
will be executed as a simple foreground process here (not as asystemd
service).- Currently, the image does not require any networking, it is disabled.
ipmitool
andsmartctl
require read-only access to host's/dev/
and/run
folders and admin privilege.- The
/sys
filesystem can be accessed in the container, but the proper kernel module (i.e.coretemp
,k10temp
, ordrivetemp
) needs to be loaded on host side. - The container can send log messages to the host's
journald
daemon (as it is configured in Usage chapter), but feel free to configure other logging drivers.
The service can be started:
docker run \
-d \
--rm \
--log-driver=journald \
--privileged=true \
--name "smfc" \
-v /dev:/dev:ro \
-v /run:/run:ro \
-v /etc/timezone:/etc/timezone:ro
-v /etc/localtime:/etc/localtime:ro
-v /opt/smfc/smfc.conf:/opt/smfc/smfc.conf:ro \
-e SMFC_ARGS="-l 3" \
petersulyok/smfc
(sample script can be found here), and can be terminated:
docker stop smfc
docker-compose
requires this file:
version: "2"
services:
smfc:
image: petersulyok/smfc
container_name: smfc
network_mode: none
logging:
driver: journald
privileged: true
environment:
- SMFC_ARGS=-l 3
volumes:
- /dev:/dev:ro
- /run:/run:ro
- /opt/smfc/smfc.conf:/opt/smfc/smfc.conf:ro
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
(sample yaml file can be found here), and docker image can be started/stopped this way:
docker-compose up -d
docker-compose down
Use the following parameters to configure smfc
:
Parameter | type | function |
---|---|---|
SMFC_ARGS |
environment variable | command-line arguments for smfc (only for -o, -l parameters!) |
smfc.conf |
volume (ro) | configuration file for smfc , mapped from host side |
The image can be built locally in the following way:
git clone https://github.com/petersulyok/smfc.git
cd smfc
./docker/docker-build.sh 3.4.0
- 3.5.1 (2024.08.23): Updated to smfc version 3.5.1 and alpine 3.20
- 3.5.0 (2024.03.21): Updated to smfc version 3.5.0 and alpine 3.19
- 3.4.0 (2023.11.28): Documentation updated
- 3.3.0 (2023.11.19): Initial release