diff --git a/signalk/rootfs/etc/cont-init.d/99-run.sh b/signalk/rootfs/etc/cont-init.d/99-run.sh index c6d1d8441..9833d2053 100755 --- a/signalk/rootfs/etc/cont-init.d/99-run.sh +++ b/signalk/rootfs/etc/cont-init.d/99-run.sh @@ -3,14 +3,24 @@ set -e # hadolint ignore=SC2155 +# Variables +USER=node + # Set configuration directory -if [ -d /home/node/.signalk ]; then - rm -r /home/node/.signalk +if [ -d "/home/$USER/.signalk" ]; then + rm -r "/home/$USER/.signalk" fi -ln -sf /config /home/node/.signalk -chown -R node:node /config -chown -R node:node /home/node/.signalk +ln -sf /config "/home/$USER/.signalk" +chown -R "$USER:$USER" /config +chown -R "$USER:$USER" "/home/$USER/.signalk" + +# Define permissions for /dev/ttyUSB +for device in /dev/ttyUSB /dev/ttyUSB0 /dev/ttyUSB1; do + if [ -e "$device" ]; then + usermod -a -G "$(stat -c "%G" "$device")" $USER + fi +done bashio::log.info "Starting application" -sudo -u node -s /bin/sh -c "/home/node/signalk/startup.sh" +sudo -u "$USER" -s /bin/sh -c "/home/node/signalk/startup.sh"