diff --git a/Dockerfile b/Dockerfile index 730ed7d12b15d4d1255d0cc1fc340418eae45143..3000c30e9eb4a6f8fcca9c31e9ee0961c04dc767 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,3 @@ -ARG DEF_USERID=1001 ARG FFMPEG_VERSION=4.2.2 FROM ubuntu:bionic @@ -22,9 +21,9 @@ RUN apt-get update && apt-get install -y \ alsa-oss \ pulseaudio \ pulseaudio-utils \ - && mkdir /home/lithium \ - && chown -R ${DEF_USERID}:0 /home/lithium - + && mkdir /home/lithium /var/run/pulse /run/user/lithium \ + && chown -R 1001:0 /home/lithium /run/user/lithium /var/run/pulse \ + && chmod -R g=u /home/lithium /run/user/lithium /var/run/pulse RUN ln -s /usr/bin/python3 /usr/local/bin/python \ && pip3 install --upgrade pip @@ -68,4 +67,4 @@ COPY nsswrapper.sh ./ ENTRYPOINT ["sh","docker-entrypoint.sh"] CMD ["sh","startStream.sh" ] -USER ${DEF_USERID} +USER 1001 diff --git a/nsswrapper.sh b/nsswrapper.sh index 809ae7e1eb605110ebaf1a6c84dec9bfaff2ace5..db64b0f8864b5885776671886ac3ef354c19193d 100644 --- a/nsswrapper.sh +++ b/nsswrapper.sh @@ -5,19 +5,18 @@ if test "`id -u`" -ne 0; then echo Skipping nsswrapper setup - already initialized else echo Setting up nsswrapper mapping `id -u` to lithium + sed "s|^audio:\(.*\)|audio:\1,lithium|" \ + /etc/group >/tmp/pulse-group if test `id -g` -ne 0; then - sed "s|^lithium:.*|lithium:x:`id -g`:|" /etc/group >/tmp/pulse-group - sed \ - "s|^lithium:.*|lithium:x:`id -u`:`id -g`:lithium:/home/lithium:/bin/sh|" \ - /etc/passwd >/tmp/pulse-passwd - else - cat /etc/group >/tmp/pulse-group - sed \ - "s|^lithium:.*|lithium:x:`id -u`:0:lithium:/home/lithium:/bin/sh|" \ - /etc/passwd >/tmp/pulse-passwd + echo "lithium:x:`id -g`:" >>/tmp/pulse-group fi + ( + cat /etc/passwd + echo "lithium:x:`id -u`:`id -g`:lithium:/home/lithium:/bin/sh" + ) >/tmp/pulse-passwd fi export NSS_WRAPPER_PASSWD=/tmp/pulse-passwd export NSS_WRAPPER_GROUP=/tmp/pulse-group export LD_PRELOAD=/usr/lib/libnss_wrapper.so fi +export HOME=/home/lithium