Install scm-manager with docker


Grab the latest version from download page and replace <version> in the code blocks below

docker run --name scm -p 8080:8080 -v scm-home:/var/lib/scm scmmanager/scm-manager:<version>

for example:

docker run --name scm -p 8080:8080 -v scm-home:/var/lib/scm scmmanager/scm-manager:2.0.0


It is recommended to create a persistent volume for the scm-manager home directory. This allows scm-manager updates and recreation of the container without lose of data. The home directory is located at /var/lib/scm. It is recommended to use a volume managed by docker. If it is required to use a host directory, keep in mind that the scm-manager process is executed with a user which has the id 1000. So ensure that the user with the uid 1000 can write to the directory e.g.:

mkdir /scm_home
chown 1000:1000 /scm_home
docker run --name scm -p 8080:8080 -v /scm_home:/var/lib/scm scmmanager/scm-manager:<version>

Exposed Ports

SCM-Manager exposes its http port on port 8080. If you want to use the ssh plugin, keep in mind that this plugin requires an extra port (default is 2222).

docker run --name scm -p 2222:2222 -p 8080:8080 -v scm-home:/var/lib/scm scmmanager/scm-manager:<version>

JVM Parameters

If it becomes necessary to add JVM parameters to the start, there are two ways to do this:

  • As arguments e.g.:
docker run scmmanager/scm-manager:<version>
  • Or as JAVA_OPTS environment variable e.g.:
docker run -e JAVA_OPTS="" scmmanager/scm-manager:<version>

Docker Compose

If you want to use the image with docker-compose have a look at the example below.

version: '2.0'
    image: scmmanager/scm-manager:<version>
    - "8080:8080"
    # if the ssh plugin is used
    - "2222:2222"
    - scmhome:/var/lib/scm
  scmhome: {}


We are offer two variants of the SCM-Manager docker image one with OpenJDK on Alpine and the other with Eclipse Temurin on Debian.


This image uses the Alpine operating system and the OpenJDK distribution from the official apk repository. The image is available for the following os/architectures:

  • linux/amd64
  • linux/arm64


This image uses the Debian operating system and the Eclipse Temurin JDK. The image is available for the following os/architectures:

  • linux/amd64
  • linux/arm64
  • linux/arm/v7


The default image is mainly an alias for the alpine variant, but there is no alpine variant for arm/v7. For arm/v7 the debian variant is used.

  • linux/amd64 uses the alpine variant
  • linux/arm64 uses the alpine variant
  • linux/arm/v7 uses the debian variant