diff --git a/.gitattributes b/.gitattributes
index 2a651908c4756aa3a06780eabb3139e2088e1867..f60cc6e1cb647ad2eb82cc3232b396c83ba8d4cb 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2375,6 +2375,7 @@ Docker/lofar-outputproc/Dockerfile.tmpl -text
 Docker/lofar-pipeline/Dockerfile.tmpl -text
 Docker/lofar-pulp/Dockerfile.tmpl -text
 Docker/lofar-pulp/bashrc -text
+Docker/lofar-pulp/chuser.sh -text
 Docker/lofar-pulp/sudoers -text
 Docker/lofar-tbbwriter/Dockerfile -text
 Docker/lofar-tbbwriter/bashrc -text
diff --git a/Docker/lofar-pulp/Dockerfile.tmpl b/Docker/lofar-pulp/Dockerfile.tmpl
index bc7297dfefa4d4606e7fb6142f8312b97e11688d..3be362ba4e4968c5b28bd99661099bc15d507653 100644
--- a/Docker/lofar-pulp/Dockerfile.tmpl
+++ b/Docker/lofar-pulp/Dockerfile.tmpl
@@ -61,3 +61,5 @@ RUN apt-get update && apt-get install -y liblog4cplus-dev libhdf5-dev libblitz0-
     apt-get autoremove -y
 
 COPY ["bashrc", "/opt/"]
+COPY ["chuser.sh", "/usr/local/bin"]
+ENTRYPOINT ["/usr/local/bin/chuser.sh"]
diff --git a/Docker/lofar-pulp/chuser.sh b/Docker/lofar-pulp/chuser.sh
new file mode 100755
index 0000000000000000000000000000000000000000..46872545a87da2e2516bc3ab2e443644c8ee6281
--- /dev/null
+++ b/Docker/lofar-pulp/chuser.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+# Configure user
+if [ -z "${USER}" ]; then
+  export USER=${UID}
+fi
+
+# Create home directory
+if [ -z "${HOME}" ]; then
+  export HOME=/home/${USER}
+  mkdir -p $HOME && cd $HOME
+fi
+
+# Add user to system
+fgrep -q ":x:${UID}:" /etc/passwd || echo "${USER}:x:${UID}:${UID}::${HOME}:/bin/bash" >> /etc/passwd
+fgrep -q ":x:${UID}:" /etc/group  || echo "${USER}:x:${UID}:" >> /etc/group
+
+# Set the environment
+[ -e /opt/bashrc ] && source /opt/bashrc
+
+# Run the requested command
+if [ -z "$*" ]; then
+  exec /bin/bash
+else
+  exec "$@"
+fi