From 073d317c9f5794bcdbb7e5701b5bdfa06cd61364 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 8 Jun 2020 10:55:56 +0200 Subject: [PATCH 1/3] Added option to configure jvm parameter of docker image --- CHANGELOG.md | 2 ++ scm-packaging/docker/Dockerfile | 3 ++- .../docker/src/main/fs/opt/scm-server/bin/scm-server | 6 ++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100755 scm-packaging/docker/src/main/fs/opt/scm-server/bin/scm-server diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b9236809f..d929694c5d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## Unreleased +### Added +- Option to configure jvm parameter of docker container with env JAVA_OPTS or with arguments ### Fixed - Fixes configuration of jetty listener address with system property `jetty.host` ([#1173](https://github.com/scm-manager/scm-manager/pull/1173), [#1174](https://github.com/scm-manager/scm-manager/pull/1174)) diff --git a/scm-packaging/docker/Dockerfile b/scm-packaging/docker/Dockerfile index ab6dd87916..da0599d9d9 100644 --- a/scm-packaging/docker/Dockerfile +++ b/scm-packaging/docker/Dockerfile @@ -47,6 +47,7 @@ RUN set -x \ && addgroup -S -g 1000 scm \ && adduser -S -s /bin/false -G scm -h ${SCM_HOME} -D -H -u 1000 scm \ && mkdir -p ${SCM_HOME} ${CACHE_DIR} \ + && chmod +x /opt/scm-server/bin/scm-server \ && chown scm:scm ${SCM_HOME} ${CACHE_DIR} # copy mercurial installation @@ -58,4 +59,4 @@ VOLUME ["${SCM_HOME}", "${CACHE_DIR}"] EXPOSE 8080 USER scm -CMD [ "java", "-cp", "/etc/scm:/opt/scm-server/lib/*", "-Djava.awt.headless=true", "-Dlogback.configurationFile=logging.xml", "sonia.scm.server.ScmServerDaemon" ] +ENTRYPOINT [ "/opt/scm-server/bin/scm-server" ] diff --git a/scm-packaging/docker/src/main/fs/opt/scm-server/bin/scm-server b/scm-packaging/docker/src/main/fs/opt/scm-server/bin/scm-server new file mode 100755 index 0000000000..82f8a2f74b --- /dev/null +++ b/scm-packaging/docker/src/main/fs/opt/scm-server/bin/scm-server @@ -0,0 +1,6 @@ +#!/bin/sh +exec java -cp "/etc/scm:/opt/scm-server/lib/*" \ + -Djava.awt.headless=true \ + -Dlogback.configurationFile=logging.xml \ + $JAVA_OPTS $* \ + sonia.scm.server.ScmServerDaemon From e9a4068e76e2b87048222d9458621717c2ad08b0 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 8 Jun 2020 11:05:22 +0200 Subject: [PATCH 2/3] added documentation and add pr link to the changelog --- CHANGELOG.md | 2 +- docs/en/installation/docker.md | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d929694c5d..5577a4c937 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## Unreleased ### Added -- Option to configure jvm parameter of docker container with env JAVA_OPTS or with arguments +- Option to configure jvm parameter of docker container with env JAVA_OPTS or with arguments ([#1175](https://github.com/scm-manager/scm-manager/pull/1175)) ### Fixed - Fixes configuration of jetty listener address with system property `jetty.host` ([#1173](https://github.com/scm-manager/scm-manager/pull/1173), [#1174](https://github.com/scm-manager/scm-manager/pull/1174)) diff --git a/docs/en/installation/docker.md b/docs/en/installation/docker.md index 3bdb207564..0298b97c06 100644 --- a/docs/en/installation/docker.md +++ b/docs/en/installation/docker.md @@ -43,6 +43,24 @@ If you want to use the ssh plugin, keep in mind that this plugin requires an ext docker run --name scm -p 2222:2222 -p 8080:8080 -v scm-home:/var/lib/scm scmmanager/scm-manager: ``` +## JVM Parameters + +If it becomes necessary to add JVM parameters to the start, there are two ways to do this: + +* As argument e.g.: + +```bash +docker run scmmanager/scm-manager: -Dsome.property=value +``` + +* Or as JAVA_OPTS environment variable e.g.: + +```bash +docker run -e JAVA_OPTS="-Dsome.property=value" scmmanager/scm-manager: + +``` + + ## Docker Compose If you want to use the image with docker-compose have a look at the example below. From 4a8daf0259f1a1f94301dd859d6d0466abd54c3c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Mon, 8 Jun 2020 11:15:40 +0200 Subject: [PATCH 3/3] fixed typo --- docs/en/installation/docker.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/installation/docker.md b/docs/en/installation/docker.md index 0298b97c06..41e0caea71 100644 --- a/docs/en/installation/docker.md +++ b/docs/en/installation/docker.md @@ -47,7 +47,7 @@ docker run --name scm -p 2222:2222 -p 8080:8080 -v scm-home:/var/lib/scm scmmana If it becomes necessary to add JVM parameters to the start, there are two ways to do this: -* As argument e.g.: +* As arguments e.g.: ```bash docker run scmmanager/scm-manager: -Dsome.property=value