small enhancements for beta testing

This commit is contained in:
buanet
2023-11-06 15:49:22 +01:00
parent bf87667fc0
commit bc483cc5f0
6 changed files with 27 additions and 20 deletions

View File

@@ -1 +1 @@
v9.1.0-beta.1
v9.1.0-beta.2

View File

@@ -1,11 +1,15 @@
## Changelog
### v9.1.0-beta.1 (03.11.2023)
* improve maintenance command by symlinking ([#390](https://github.com/buanet/ioBroker.docker/issues/390))
* fix restore/ adding backup file selection ([#394](https://github.com/buanet/ioBroker.docker/issues/394))
* fix calling iob start|stop with parameters
* enhance logging in iobroker_startup.sh
* add error handling for user scripts
### v9.1.0-beta.2 (coming soon)
* add env PACKAGES_UPDATE and remove automatic package updates on first container start
* improve setuid/setgid handling during startup ([#397](https://github.com/buanet/ioBroker.docker/issues/397))
* move maintenance script registration to dockerfile ([#390](https://github.com/buanet/ioBroker.docker/issues/390))
* v9.1.0-beta.1 (03.11.2023)
* improve maintenance command by symlinking ([#390](https://github.com/buanet/ioBroker.docker/issues/390))
* fix restore/ adding backup file selection ([#394](https://github.com/buanet/ioBroker.docker/issues/394))
* fix calling iob start|stop with parameters
* enhance logging in iobroker_startup.sh
* add error handling for user scripts
### v9.0.1 (10.10.2023)
* fix issue with avahi setup ([#384](https://github.com/buanet/ioBroker.docker/issues/384); [#385 by @z1r0](https://github.com/buanet/ioBroker.docker/pull/385))

View File

@@ -75,6 +75,10 @@ RUN apt-get update && apt-get upgrade -y \
&& chown -R iobroker:iobroker /opt/scripts /opt/userscripts \
&& chmod 755 /opt/scripts/*.sh \
&& chmod 755 /opt/userscripts/*.sh \
# register maintenance command
&& ln -s /opt/scripts/maintenance.sh /bin/maintenance \
&& ln -s /opt/scripts/maintenance.sh /bin/maint \
&& ln -s /opt/scripts/maintenance.sh /bin/m \
# Clean up installation cache
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& apt-get autoclean -y \

View File

@@ -17,17 +17,18 @@ offlinemode=$OFFLINE_MODE
objectsdbhost=$IOB_OBJECTSDB_HOST
objectsdbport=$IOB_OBJECTSDB_PORT
objectsdbtype=$IOB_OBJECTSDB_TYPE
objectsdbname=$IOB_OBJECTSDB_NAME # new for sentinel support
objectsdbpass=$IOB_OBJECTSDB_PASS # new for auth support
objectsdbname=$IOB_OBJECTSDB_NAME
objectsdbpass=$IOB_OBJECTSDB_PASS
packages=$PACKAGES
packagesupdate=$PACKAGES_UPDATE
permissioncheck=$PERMISSION_CHECK
setgid=$SETGID
setuid=$SETUID
statesdbhost=$IOB_STATESDB_HOST
statesdbport=$IOB_STATESDB_PORT
statesdbtype=$IOB_STATESDB_TYPE
statesdbname=$IOB_STATESDB_NAME # new for sentinel support
statesdbpass=$IOB_STATESDB_PASS # new for auth support
statesdbname=$IOB_STATESDB_NAME
statesdbpass=$IOB_STATESDB_PASS
usbdevices=$USBDEVICES
set -u
@@ -132,10 +133,12 @@ if [[ -f /opt/.docker_config/.first_run ]]; then
# Updating Linux packages
if [[ "$offlinemode" = "true" ]]; then
echo "OFFLINE_MODE is \"true\". Skipping Linux package updates on first run."
else
echo " "
elif [[ "$packagesupdate" = "true" ]]; then
if ! bash /opt/scripts/setup_packages.sh -update; then echo "Failed."; fi
echo " "
fi
echo " "
# Installing packages from ENV
if [[ "$packages" != "" && "$offlinemode" = "true" ]]; then
echo "PACKAGES is set, but OFFLINE_MODE is \"true\". Skipping Linux package installation."
@@ -144,19 +147,13 @@ if [[ -f /opt/.docker_config/.first_run ]]; then
if ! bash /opt/scripts/setup_packages.sh -install; then echo "Failed."; fi
fi
echo " "
# Register maintenance script
echo -n "Registering maintenance script as command... "
ln -s /opt/scripts/maintenance.sh /bin/maintenance
ln -s /opt/scripts/maintenance.sh /bin/maint
ln -s /opt/scripts/maintenance.sh /bin/m
echo "Done."
else
echo "This is not the first run of this container. Skipping first run preparation."
fi
echo " "
# Setting UID and/ or GID
if [[ "$setgid" != "$(cat /etc/group | grep 'iobroker:' | cut -d':' -f3)" || "$setuid" != "$(cat /etc/passwd | grep 'iobroker:' | cut -d':' -f3)" ]]; then
if [[ "$setgid" != "$(id -u iobroker)" || "$setuid" != "$(id -u iobroker)" ]]; then
echo "SETUID and/ or SETGID are set to custom values."
echo -n "Changing UID to \"""$setuid""\" and GID to \"""$setgid""\"... "
usermod -u "$setuid" iobroker

View File

@@ -124,6 +124,7 @@ You could use environment variables to auto configure your ioBroker container on
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
* `SETGID` (default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host
* `SETUID` (default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host

View File

@@ -126,6 +126,7 @@ You could use environment variables to auto configure your ioBroker container on
* `LC_ALL` (optional, default: de_DE.UTF-8) The following locales are pre-generated: de_DE.UTF-8, en_US.UTF-8
* `OFFLINE_MODE` (optional) Set `true` if your container has no or limited internet connection
* `PACKAGES` (optional) Install additional Linux packages to your container, packages should be separated by whitespace like this: `package1 package2 package3`.
* `PACKAGES_UPDATE` (optional) Set `true` if you want to apply Linux package updates at the first start of a new container.
* `PERMISSION_CHECK` (optional, default: true) Set "false" to skip checking and correcting all relevant permissions on container startup (Use at own risk!!!)
* `SETGID` (default: 1000) In some cases it might be useful to specify the gid of the containers iobroker user to match an existing group on the docker host
* `SETUID` (default: 1000) In some cases it might be useful to specify the uid of the containers iobroker user to match an existing user on the docker host