Hi everybody,
I’m trying to run openHAB v4.3.0 on a Podman container in my notebook with Fedora Workstation v41.
I’ve follower the guide on Docker | openHAB and I’ve created the openhab user and the configurations folders that now are empty:
sudo useradd -r -s /sbin/nologin openhab
sudo usermod -a -G openhab openhab
sudo mkdir -p /opt/openhab/{conf/ssh,userdata,addons}
sudo chown -R openhab:openhab /opt/openhab
I’m trying to start the container with:
user@fedora: podman run \
--name openhab \
--net=host \
-v /etc/localtime:/etc/localtime:ro \
-v /usr/share/zoneinfo/Europe/Rome:/etc/timezone:ro \
-v /opt/openhab/conf:/openhab/conf \
-v /opt/openhab/userdata:/openhab/userdata \
-v /opt/openhab/addons:/openhab/addons \
-e USER_ID=972 \
-e GROUP_ID=972 \
-e CRYPTO_POLICY=unlimited \
openhab/openhab:4.3.0-debian
The output that I get is:
+ IFS='
'
++ find /usr/lib/jvm -maxdepth 1 -name '*jdk*' -type d
+ export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
+ JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
+ '[' unlimited = unlimited ']'
Configuring Java unlimited strength cryptography policy...
+ echo 'Configuring Java unlimited strength cryptography policy...'
+ sed -i 's/^crypto.policy=limited/crypto.policy=unlimited/' /usr/lib/jvm/java-17-openjdk-amd64/conf/security/java.security
+ capsh --print
+ grep -E Current:.+,cap_net_admin,cap_net_raw,.+
+ rm -f '/var/lock/LCK..*'
+ rm -f /openhab/userdata/tmp/instances/instance.properties
+ NEW_USER_ID=972
+ NEW_GROUP_ID=972
Starting with openhab user id: 972 and group id: 972
+ echo 'Starting with openhab user id: 972 and group id: 972'
+ id -u openhab
++ getent group 972
+ '[' -z '' ']'
Create group openhab with id 972
+ echo 'Create group openhab with id 972'
+ groupadd -g 972 openhab
Create user openhab with id 972
+ echo 'Create user openhab with id 972'
+ adduser -u 972 --disabled-password --gecos '' --home /openhab --gid 972 openhab
adduser: Warning: The home dir /openhab you specified already exists.
Adding user `openhab' ...
Adding new user `openhab' (972) with group `openhab (972)' ...
useradd warning: openhab's uid 972 outside of the UID_MIN 1000 and UID_MAX 60000 range.
adduser: The home directory `/openhab' already exists. Not touching this directory.
adduser: Warning: The home directory `/openhab' does not belong to the user you are currently creating.
Adding new user `openhab' to supplemental / extra groups `users' ...
Adding user `openhab' to group `users' ...
+ groupadd -g 11 audio2
+ groupadd -g 14 uucp2
+ groupadd -g 16 dialout2
+ groupadd -g 17 audio3
+ groupadd -g 18 dialout3
+ groupadd -g 32 uucp3
+ groupadd -g 63 audio4
+ groupadd -g 490 dialout4
+ groupadd -g 492 audio5
+ groupadd -g 997 gpio
+ adduser openhab audio
Adding user `openhab' to group `audio' ...
Done.
+ adduser openhab audio2
Adding user `openhab' to group `audio2' ...
Done.
+ adduser openhab audio3
Adding user `openhab' to group `audio3' ...
Done.
+ adduser openhab audio4
Adding user `openhab' to group `audio4' ...
Done.
+ adduser openhab audio5
Adding user `openhab' to group `audio5' ...
Done.
+ adduser openhab dialout
Adding user `openhab' to group `dialout' ...
Done.
+ adduser openhab dialout2
Adding user `openhab' to group `dialout2' ...
Done.
+ adduser openhab dialout3
Adding user `openhab' to group `dialout3' ...
Done.
+ adduser openhab dialout4
Adding user `openhab' to group `dialout4' ...
Done.
+ adduser openhab gpio
Adding user `openhab' to group `gpio' ...
Done.
+ adduser openhab uucp
Adding user `openhab' to group `uucp' ...
Done.
+ adduser openhab uucp2
Adding user `openhab' to group `uucp2' ...
Done.
+ adduser openhab uucp3
Adding user `openhab' to group `uucp3' ...
Done.
+ initialize_volume /openhab/conf /openhab/dist/conf
+ volume=/openhab/conf
+ source=/openhab/dist/conf
++ ls -A /openhab/conf
+ '[' -z ssh ']'
+ initialize_volume /openhab/userdata /openhab/dist/userdata
+ volume=/openhab/userdata
+ source=/openhab/dist/userdata
++ ls -A /openhab/userdata
+ '[' -z '' ']'
Initializing empty volume /openhab/userdata ...
+ echo 'Initializing empty volume /openhab/userdata ...'
+ cp -av /openhab/dist/userdata/. /openhab/userdata/
cp: cannot create directory '/openhab/userdata/./etc': Permission denied
cp: cannot create directory '/openhab/userdata/./logs': Permission denied
cp: cannot create directory '/openhab/userdata/./tmp': Permission denied
cp: preserving times for '/openhab/userdata/.': Permission denied
I don’t understand why I get permission denied.
Do I have to put some initial configuration inside my local folders /opt/openhab/conf, /opt/openhab/userdata and /opt/openhab/addons?
Anther question about uid and gid because I’ve also noticed the warning:
“useradd warning: openhab’s uid 972 outside of the UID_MIN 1000 and UID_MAX 60000 range.”
My userid and gid is 972 and if I type “id openhab”, I get:
uid=972(openhab) gid=972(openhab) groups=972(openhab)
Do I have to put 972 on uid and gid or have I to always put 9001 because "By default the openHAB user in the container is running with uid=9001(openhab) gid=9001(openhab) groups=9001(openhab)
?
Thanks for your help!