diff --git a/deploy/docker/cloudbeaver-ce/Dockerfile b/deploy/docker/cloudbeaver-ce/Dockerfile index 9d3fdfc353..8921c55ead 100644 --- a/deploy/docker/cloudbeaver-ce/Dockerfile +++ b/deploy/docker/cloudbeaver-ce/Dockerfile @@ -9,7 +9,7 @@ RUN apt-get update && \ apt-get upgrade -y RUN groupadd -g $DBEAVER_GID dbeaver && \ - useradd -g $DBEAVER_GID -M -u $DBEAVER_UID -s /bin/bash dbeaver + useradd -g $DBEAVER_GID -m -u $DBEAVER_UID -s /bin/bash dbeaver COPY cloudbeaver /opt/cloudbeaver COPY scripts/launch-product.sh /opt/cloudbeaver/launch-product.sh @@ -20,4 +20,4 @@ WORKDIR /opt/cloudbeaver/ RUN chmod +x "run-server.sh" "/opt/cloudbeaver/launch-product.sh" -ENTRYPOINT ["./run-server.sh"] +ENTRYPOINT ["./launch-product.sh"] diff --git a/deploy/scripts/launch-product.sh b/deploy/scripts/launch-product.sh index 605a4d7a7a..b890ba00e9 100644 --- a/deploy/scripts/launch-product.sh +++ b/deploy/scripts/launch-product.sh @@ -5,7 +5,15 @@ # Change ownership of the WORKDIR to the dbeaver user and group # Variables DBEAVER_ are defined in the Dockerfile and exported to the runtime environment # PWD equals WORKDIR value from product Dockerfile -chown -R $DBEAVER_UID:$DBEAVER_GID $PWD -# Execute run-server.sh as the dbeaver user with the JAVA_HOME and PATH environment variables -exec su dbeaver -c "JAVA_HOME=$JAVA_HOME PATH=$PATH ./run-server.sh" \ No newline at end of file +if [ "$(id -u)" -eq 0 ]; then + TARGET_USER=${TARGET_USER:-dbeaver} + TARGET_UID=${TARGET_UID:-$DBEAVER_UID} + TARGET_GID=${TARGET_GID:-$DBEAVER_GID} + + chown -R $DBEAVER_UID:$DBEAVER_GID $PWD + # Execute run-server.sh as the dbeaver user with the JAVA_HOME and PATH environment variables + exec su "$TARGET_USER" -c "JAVA_HOME=$JAVA_HOME PATH=$PATH ./run-server.sh" +else + exec ./run-server.sh +fi \ No newline at end of file