Ver Fonte

Fix docker restart because user already exists

Jamie Curnow há 2 anos atrás
pai
commit
c40e48e678
1 ficheiros alterados com 11 adições e 4 exclusões
  1. 11 4
      docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/10-npmuser.sh

+ 11 - 4
docker/rootfs/etc/s6-overlay/s6-rc.d/prepare/10-npmuser.sh

@@ -6,13 +6,20 @@ set -e
 PUID=${PUID:-911}
 PGID=${PGID:-911}
 
-# Add npmuser user
-log_info 'Creating npmuser ...'
+log_info 'Configuring npmuser ...'
 
 groupmod -g 1000 users || exit 1
-useradd -u "${PUID}" -U -d /tmp/npmuserhome -s /bin/false npmuser || exit 1
+
+if id -u npmuser; then
+	# user already exists
+	usermod -u "${PUID}" npmuser || exit 1
+else
+	# Add npmuser user
+	useradd -u "${PUID}" -U -d /tmp/npmuserhome -s /bin/false npmuser || exit 1
+fi
+
 usermod -G users npmuser || exit 1
-groupmod -o -g "$PGID" npmuser || exit 1
+groupmod -o -g "${PGID}" npmuser || exit 1
 # Home for npmuser
 mkdir -p /tmp/npmuserhome
 chown -R npmuser:npmuser /tmp/npmuserhome