diff --git a/deploy/docker/base-java/Dockerfile b/deploy/docker/base-java/Dockerfile index b59a3fc0b9..c0827d7811 100644 --- a/deploy/docker/base-java/Dockerfile +++ b/deploy/docker/base-java/Dockerfile @@ -23,8 +23,7 @@ RUN set -eux; \ tzdata \ # locales ensures proper character encoding and locale-specific behaviors using en_US.UTF-8 locales \ - nano \ - ; \ + nano && \ echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; \ locale-gen en_US.UTF-8; \ rm -rf /var/lib/apt/lists/* diff --git a/deploy/docker/cloudbeaver-ce/Dockerfile b/deploy/docker/cloudbeaver-ce/Dockerfile index 95bdcc6812..18a1d20051 100644 --- a/deploy/docker/cloudbeaver-ce/Dockerfile +++ b/deploy/docker/cloudbeaver-ce/Dockerfile @@ -2,12 +2,24 @@ FROM dbeaver/base-java MAINTAINER DBeaver Corp, devops@dbeaver.com -RUN apt-get update; \ - apt-get upgrade -y; - +ENV DBEAVER_GID=8978 +ENV DBEAVER_UID=8978 + +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 + COPY cloudbeaver /opt/cloudbeaver +COPY scripts/launch-product.sh /opt/cloudbeaver/launch-product.sh + +RUN chown -R $DBEAVER_UID:$DBEAVER_GID /opt/cloudbeaver EXPOSE 8978 RUN find /opt/cloudbeaver -type d -exec chmod 775 {} \; WORKDIR /opt/cloudbeaver/ -ENTRYPOINT ["./run-server.sh"] + +RUN chmod +x "run-server.sh" "/opt/cloudbeaver/launch-product.sh" + +ENTRYPOINT ["./launch-product.sh"] diff --git a/deploy/scripts/launch-product.sh b/deploy/scripts/launch-product.sh new file mode 100644 index 0000000000..605a4d7a7a --- /dev/null +++ b/deploy/scripts/launch-product.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# This script is needed to change ownership and run the application as user dbeaver during the upgrade from version 24.2.0 + +# 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