# SCM-Manager NAS installation guide?

**URL:** <https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538>\
**Category:** SCM-Manager (General)\
**Created:** [October 17, 2025, 4:53pm UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538 "2025-10-17T16:53:21Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![vnvjan](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/vnvjan/32/1705_2.png) [@vnvjan](https://community.cloudogu.com/u/vnvjan)\
**Post date:** [October 17, 2025, 4:53pm UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/1 "2025-10-17T16:53:21Z")

</div>

Hi…is there any installation documentation for a Synology NAS’s available?

I trying installing the docker image and after fireing up the image I got an java error like this.

I already think there is a misconfiguration of the image settings but i have no idea what exactly.

```auto
        java.lang.IllegalStateException: could not modify home directory at /var/lib/scm
	at sonia.scm.BasicContextProvider.error(BasicContextProvider.java:177)
	at sonia.scm.BasicContextProvider.findBaseDirectory(BasicContextProvider.java:163)
	at sonia.scm.BasicContextProvider.<init>(BasicContextProvider.java:83)
	at sonia.scm.SCMContext.getContext(SCMContext.java:74)
	at sonia.scm.lifecycle.BootstrapContextListener.getInjector(BootstrapContextListener.java:82)
	at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
	at sonia.scm.lifecycle.BootstrapContextListener.contextInitialized(BootstrapContextListener.java:73)
	at sonia.scm.lifecycle.BootstrapContextFilter.initializeContext(BootstrapContextFilter.java:57)
	at sonia.scm.lifecycle.BootstrapContextFilter.init(BootstrapContextFilter.java:48)
	at org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:133)
	at org.eclipse.jetty.servlet.ServletHandler.lambda$initialize$2(ServletHandler.java:725)
	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source)
	at java.base/java.util.stream.ReferencePipeline$Head.forEach(Unknown Source)
	at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:749)
	at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:392)
	at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1305)
	at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:902)
	at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:306)
	at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:533)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:121)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:171)
	at org.eclipse.jetty.server.Server.start(Server.java:470)
	at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
	at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:89)
	at org.eclipse.jetty.server.Server.doStart(Server.java:415)
	at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
	at sonia.scm.server.ScmServer.init(ScmServer.java:65)
	at sonia.scm.server.ScmServer.run(ScmServer.java:36)
	at sonia.scm.server.ScmServerDaemon.main(ScmServerDaemon.java:34)

```

---

<div class="post-metadata">

**Author:** ![thomas.zerr](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/thomas.zerr/32/1536_2.png) [@thomas.zerr](https://community.cloudogu.com/u/thomas.zerr)\
**Post date:** [October 21, 2025, 7:10am UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/2 "2025-10-21T07:10:05Z")

</div>

Hello @vnvjan,

how do you start the Docker Image. Which arguments are you using?

---

<div class="post-metadata">

**Author:** ![vnvjan](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/vnvjan/32/1705_2.png) [@vnvjan](https://community.cloudogu.com/u/vnvjan)\
**Post date:** [October 21, 2025, 2:55pm UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/3 "2025-10-21T14:55:58Z")

</div>

I don’t start it by command line. Only over Container Manager in Synology’s DSM.

Using the default (latest) docker image @ Docker Hub.

The Synology container config is attached.

I think its an issue with the rights, mapping SCM home path to a local path @ Synology

The local folder has full rights for owner, ContainerManager and admins.

[scm-manager.json.zip](https://community.cloudogu.com/uploads/short-url/e3fBap0VbkWdaUAk3Q4An3rfwmu.zip) (963 Bytes)

---

<div class="post-metadata">

**Author:** ![vnvjan](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/vnvjan/32/1705_2.png) [@vnvjan](https://community.cloudogu.com/u/vnvjan)\
**Post date:** [October 24, 2025, 8:44am UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/4 "2025-10-24T08:44:58Z")

</div>

Nachdem ich fast daran verzweifle, erscheint mir das Problem nicht ganz schlüssig.

Ich habe es sowohl auf einer Hardware NAS als auch eine virtualisierten NAS getestet und bin immer wieder aufs gleiche Ergebnis gekommen.

Umgebung: Synology NAS DS220+ mit DSM 7.3 (81180)

Habe Container mittels Assistenten oder Projekt (Compose) angelegt…lokaler Port auf 8080 gesetzt und SCM-Home auf lokalen “beschreibbaren“ Ordner auf der NAS gesetzt.

Habe sogar versucht über die Aufgabenplanung SCM zum Laufen zu überreden…nichts half bisher.

`docker run -d --name=scm -p 8080:8080 -v /var/lib/scm:/volume1/docker/scm-manager/scm-home -–restart=always scmmanager/scm-manager:latest`

Was mir schon als erstes aufgefallen ist…SCM wird mit Nutzer (UID 1000) gestartet, welchen es auf einer Syno NAS nicht gibt. Das verwirrt schon mal ordentlich.

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/cloudogu2/original/2X/b/b5442d180a57ee933b5ff9e62f1c4779ab15c14b.png)

Ordner+Dateien werden beim ersten Start angelegt. Dabei ist Startseite [http://nas:8080/scm](http://nas:8080/scm) nicht erreichbar.

Neustart des Container probiert → Ergebnis bleibt gleich…SCM startet einfach nicht durch, Startseite bleibt nicht erreichbar.

Laut Console hängt sich der Start immer an der gleichen Stelle auf (siehe Log)

```bash
2025-10-24 08:24:37.690 [main] [] INFO sonia.scm.lifecycle.modules.EagerSingletonModule - initialize eager singleton sonia.scm.initialization.DefaultInitializationFinisher

```

[SynologyContainer\_Log.zip](https://community.cloudogu.com/uploads/short-url/5RVJuKq5n5MRyk6sHBitP386wsl.zip) (2.3 KB)

Einen Health Check kann ich auch nicht durchführen lassen, da es kein CURL im Image gibt. Warum fehlt sowas eigentlich???

---

<div class="post-metadata">

**Author:** ![pfeuffer](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/pfeuffer/32/72_2.png) [@pfeuffer](https://community.cloudogu.com/u/pfeuffer)\
**Post date:** [October 30, 2025, 8:58am UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/5 "2025-10-30T08:58:32Z")

</div>

Hi!

Sorry für die Verzweiflung. Die konnte ich tatsächlich eben etwas nachvollziehen, sollte aber eine Lösung für dich gefunden haben.

Es ist tatsächlich so, dass der SCM-Manager im Docker-Container aktuell den User 1000 fest gesetzt hat. Wir nehmen mal eine Story auf, dass die UID konfigurierbar ist, können aber nicht sagen, wann wir zu der Umsetzung kommen (Hilfe ist bei sowas aber immer gerne gesehen und wir unterstützen gerne).

Auf meiner Synology starte ich den SCM-Manager ganz schlicht per Kommandozeile (eigentlich genau so, wie in deinem Beispiel) und er läuft zuverlässig.

Als ich das aber eben mit einem zweiten Container nachstellen wollte, bin ich etwas ins Schwimmen geraten: Es hat einfach nicht mehr funktioniert und ich habe dieselben `could not modify home directory` Fehler bekommen, von denen Du berichtest.

Ich habe dann versucht, die Berechtigungen für das Verzeichnis manuell zu setzen. Das sah zunächst richtig aus, der Server hatte aber noch immer dieselben Fehler. Ich habe dann Berechtigungen für Gruppe und Other zurückgesetzt, und auf einmal fehlten alle Berechtigungen (`d-------`). Da scheint die Synology etwas … durcheinander zu kommen. Beim nächsten Setzen blieben die Berechtigungen dann aber bestehen und der Server startet bis zum `DefaultInitializationFinisher`, also ebenso wieder wie bei dir.

Hier scheint das Problem zu sein, dass das NAS nicht genug Zufall erzeugen kann um den initialen Token zu generieren. Das passiert eigentlich nur bei Maschinen, die ganz neu installiert wurden.

Um das zu umgehen, kannst Du ein initiales Passwort für einen ersten User beim Start per Umgebungsvariable `SCM_WEBAPP_INITIALPASSWORD` mitgeben. Der Befehl sieht dann in etwa so aus:

```bash
docker run \
  --name scm \
  -d \
  -e SCM_FORWARD_HEADERS_ENABLED=true \
  -p 8080:8080 \
  -v /volume1/scm/scm-home:/var/lib/scm \
  -e SCM_WEBAPP_INITIALPASSWORD=scmadmin
  --restart always \
  scmmanager/scm-manager:latest

```

Damit hast Du dann den Benutzer `scmadmin` mit dem Passwort `scmadmin`. Du kannst dann eigene User anlegen und den `scmadmin` löschen oder deaktivieren. Bei weiteren Starts wird dieser User nicht mehr erstellt, solange mindestens ein anderer User existiert.

Ich hoffe, das hilft dir weiter.

**Zu den anderen Fragen:**

Im Docker Image ist kein `curl` enthalten, da nicht benötigte Binaries in der Regel als Sicherheitslücken angesehen und daher vermieden werden.

Als Health Endpoint verwenden wir schlicht den API Endpunkt ([http://localhost:8080/scm/api/v2](http://localhost:8080/scm/api/v2)).

Viele Grüße  
René

---

<div class="post-metadata">

**Author:** ![vnvjan](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/vnvjan/32/1705_2.png) [@vnvjan](https://community.cloudogu.com/u/vnvjan)\
**Post date:** [October 30, 2025, 2:26pm UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/6 "2025-10-30T14:26:02Z")

</div>

Einfach herrlich…vielen Dank…funktioniert jetzt prima

---

<div class="post-metadata">

**Author:** ![pfeuffer](https://dub1.discourse-cdn.com/flex013/user_avatar/community.cloudogu.com/pfeuffer/32/72_2.png) [@pfeuffer](https://community.cloudogu.com/u/pfeuffer)\
**Post date:** [October 31, 2025, 10:27am UTC](https://community.cloudogu.com/t/scm-manager-nas-installation-guide/1538/7 "2025-10-31T10:27:16Z")

</div>

Super, tausend Dank für die Rückmeldung und viel Erfolg!
