diff --git a/xplan-core/xplan-core-commons/src/main/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoader.java b/xplan-core/xplan-core-commons/src/main/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoader.java
index ab3cae6bc9a3af094ac9de4e4d18d77746981239..4636aaa2ad79ab29ad985ab788b350e930b22972 100644
--- a/xplan-core/xplan-core-commons/src/main/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoader.java
+++ b/xplan-core/xplan-core-commons/src/main/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoader.java
@@ -105,6 +105,8 @@ public class SystemPropertyPropertiesLoader extends AbstractPropertiesLoader {
 	private Path findConfigDirectory() {
 		LOG.info("Try to receive configuration set with system property {}", CONFIG_SYSTEM_PROPERTY);
 		String configFilePath = System.getProperty(CONFIG_SYSTEM_PROPERTY);
+		if (configFilePath == null)
+			configFilePath = System.getenv(CONFIG_SYSTEM_PROPERTY);
 		if (configFilePath != null)
 			return findConfigDirectory(configFilePath);
 		LOG.info("Try to receive configuration from default directory ${user.home}/xplanbox");
diff --git a/xplan-core/xplan-core-commons/src/test/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoaderTest.java b/xplan-core/xplan-core-commons/src/test/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoaderTest.java
index 2dc12da0b1a4170933847fa937dbd5e7b0ec694a..71171d578eed1caff87654c002f1eb68c117366c 100644
--- a/xplan-core/xplan-core-commons/src/test/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoaderTest.java
+++ b/xplan-core/xplan-core-commons/src/test/java/de/latlon/xplan/commons/configuration/SystemPropertyPropertiesLoaderTest.java
@@ -24,6 +24,7 @@ import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.extension.ExtendWith;
 import org.junit.jupiter.api.io.TempDir;
 
+import uk.org.webcompere.systemstubs.environment.EnvironmentVariables;
 import uk.org.webcompere.systemstubs.jupiter.SystemStubsExtension;
 import uk.org.webcompere.systemstubs.properties.SystemProperties;
 
@@ -44,14 +45,42 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
 class SystemPropertyPropertiesLoaderTest {
 
 	@Test
-	void test_withProperty_XPLANBOX_COFIG(@TempDir File xplanBoxConfig, SystemProperties systemProperties)
+	void test_withProperty_XPLANBOX_CONFIG(@TempDir Path xplanBoxConfig, SystemProperties systemProperties)
 			throws IOException {
-		systemProperties.set(CONFIG_SYSTEM_PROPERTY, xplanBoxConfig.toString());
+		systemProperties.set(CONFIG_SYSTEM_PROPERTY, xplanBoxConfig.toAbsolutePath().toString());
 
 		SystemPropertyPropertiesLoader systemPropertyPropertiesLoader = new SystemPropertyPropertiesLoader();
 		Path configDirectory = systemPropertyPropertiesLoader.getConfigDirectory();
 
-		assertEquals(Paths.get(xplanBoxConfig.toURI()), configDirectory);
+		assertEquals(xplanBoxConfig, configDirectory);
+	}
+
+	@Test
+	void test_withEnvVar_XPLANBOX_CONFIG(@TempDir Path tmpDir, EnvironmentVariables envVars) throws IOException {
+		envVars.set(CONFIG_SYSTEM_PROPERTY, tmpDir.toAbsolutePath().toString());
+
+		SystemPropertyPropertiesLoader systemPropertyPropertiesLoader = new SystemPropertyPropertiesLoader();
+		Path configDirectory = systemPropertyPropertiesLoader.getConfigDirectory();
+
+		assertEquals(tmpDir, configDirectory);
+	}
+
+	@Test
+	void test_systemPropertyWinsOverEnvVar_XPLANBOX_CONFIG(@TempDir Path tmpDir, SystemProperties systemProperties,
+			EnvironmentVariables envVars) throws IOException {
+
+		Path dirForSysVar = tmpDir.resolve("subdir2").toAbsolutePath();
+		Files.createDirectory(dirForSysVar);
+		Path dirForEnvProps = tmpDir.resolve("subdir1");
+		Files.createDirectory(dirForEnvProps).toAbsolutePath();
+
+		systemProperties.set(CONFIG_SYSTEM_PROPERTY, dirForSysVar.toString());
+		envVars.set(CONFIG_SYSTEM_PROPERTY, dirForEnvProps.toString());
+
+		SystemPropertyPropertiesLoader systemPropertyPropertiesLoader = new SystemPropertyPropertiesLoader();
+		Path configDirectory = systemPropertyPropertiesLoader.getConfigDirectory();
+
+		assertEquals(configDirectory, dirForSysVar);
 	}
 
 	@Test
diff --git a/xplan-dokumente/xplan-dokumente-api/Dockerfile b/xplan-dokumente/xplan-dokumente-api/Dockerfile
index 1a69e8c573e21d234655eae7ae143b955fd15277..966b8ec81a54428fe0bc5937b1b52910994c75f8 100644
--- a/xplan-dokumente/xplan-dokumente-api/Dockerfile
+++ b/xplan-dokumente/xplan-dokumente-api/Dockerfile
@@ -31,8 +31,9 @@ COPY --from=builder $JMX_EXPORTER_DIR $JMX_EXPORTER_DIR
 ENV JAVA_ADDITIONAL_ARG_JMX_EXPORTER='-javaagent:$JMX_EXPORTER_DIR/jmx_prometheus_javaagent-0.19.0.jar=12345:$JMX_EXPORTER_DIR/jmx-exporter.config.yaml'
 
 # set environment variables
-ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-dokumenten-config/ -Duser.timezone=Europe/Berlin"
-ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
+ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree \
+	JAVA_ADDITIONAL_ARG_APP="-Duser.timezone=Europe/Berlin" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-dokumenten-config/"
 
 COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
diff --git a/xplan-manager/xplan-manager-api/Dockerfile b/xplan-manager/xplan-manager-api/Dockerfile
index 28905fbf080351abd666b0997e5455f82c3ec1a3..4b772c27348ecc7c7eb64a6639b2c5ab5d464e9a 100644
--- a/xplan-manager/xplan-manager-api/Dockerfile
+++ b/xplan-manager/xplan-manager-api/Dockerfile
@@ -20,9 +20,9 @@ LABEL "org.opencontainers.image.created"="$BUILD_DATE" \
 	"org.opencontainers.image.version"="$XPLANBOX_VERSION"
 
 # set environment variables
-ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
-
-ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-manager-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng"
+ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree \
+	JAVA_ADDITIONAL_ARG_APP="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-manager-config/"
 
 COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
diff --git a/xplan-manager/xplan-manager-web/Dockerfile b/xplan-manager/xplan-manager-web/Dockerfile
index a9c544002b39f5b23b408edf4990682210e74b15..f28afaa441c61f27118e3d66637cd9ac730433c0 100644
--- a/xplan-manager/xplan-manager-web/Dockerfile
+++ b/xplan-manager/xplan-manager-web/Dockerfile
@@ -20,7 +20,8 @@ LABEL "org.opencontainers.image.created"="$BUILD_DATE" \
 	"org.opencontainers.image.version"="$XPLANBOX_VERSION"
 
 # set environment variables
-ENV TOMCAT_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-manager-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin"
+ENV TOMCAT_ADDITIONAL_ARG_APP="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-manager-config/"
 
 # add xplan-manager-web
 # TODO: add unpacked
diff --git a/xplan-validator/xplan-validator-api/Dockerfile b/xplan-validator/xplan-validator-api/Dockerfile
index 8006e14dd477bd897df79dbbcf1bdf47b824d999..cc335dfd0f57bdb94d52b9aacc306ee97f8fecef 100644
--- a/xplan-validator/xplan-validator-api/Dockerfile
+++ b/xplan-validator/xplan-validator-api/Dockerfile
@@ -31,8 +31,9 @@ COPY --from=builder $JMX_EXPORTER_DIR $JMX_EXPORTER_DIR
 ENV JAVA_ADDITIONAL_ARG_JMX_EXPORTER='-javaagent:$JMX_EXPORTER_DIR/jmx_prometheus_javaagent-0.19.0.jar=12345:$JMX_EXPORTER_DIR/jmx-exporter.config.yaml'
 
 # set environment variables
-ENV JAVA_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-validator-config/ -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin"
-ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
+ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree \
+	JAVA_ADDITIONAL_ARG_APP="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-validator-config/"
 
 COPY ${WAR_FILE} /xplanbox/app.war
 COPY run.sh /xplanbox/
diff --git a/xplan-validator/xplan-validator-web/Dockerfile b/xplan-validator/xplan-validator-web/Dockerfile
index 344d054cac5967b3e36146dfffc8cf85b9f83990..f26d9248dceb9f351455decd2778375a06b2f37f 100644
--- a/xplan-validator/xplan-validator-web/Dockerfile
+++ b/xplan-validator/xplan-validator-web/Dockerfile
@@ -20,9 +20,10 @@ LABEL "org.opencontainers.image.created"="$BUILD_DATE" \
 	"org.opencontainers.image.version"="$XPLANBOX_VERSION"
 
 # set environment variables
-ENV TOMCAT_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-validator-config -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin"
-ENV TOMCAT_ADDITIONAL_ARG_JAVA17_EXPORTS="--add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED"
-ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
+ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree \
+	TOMCAT_ADDITIONAL_ARG_APP="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin" \
+	TOMCAT_ADDITIONAL_ARG_JAVA17_EXPORTS="--add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-validator-config"
 
 USER root
 
diff --git a/xplan-webservices/xplan-webservices-validator-wms/Dockerfile b/xplan-webservices/xplan-webservices-validator-wms/Dockerfile
index e8a0abb1d167dfd4083749805e313dbdff05f336..4bb17175a01e0cd1843561e38bd67c8d75bc4a63 100644
--- a/xplan-webservices/xplan-webservices-validator-wms/Dockerfile
+++ b/xplan-webservices/xplan-webservices-validator-wms/Dockerfile
@@ -20,9 +20,10 @@ LABEL "org.opencontainers.image.created"="$BUILD_DATE" \
 	"org.opencontainers.image.version"="$XPLANBOX_VERSION"
 
 # set environment variables
-ENV TOMCAT_ADDITIONAL_ARG_APP="-DXPLANBOX_CONFIG=/xplanbox/xplan-validator-config -Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin"
-ENV TOMCAT_ADDITIONAL_ARG_JAVA17_EXPORTS="--add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED"
-ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree
+ENV DEEGREE_WORKSPACE_ROOT=/xplanbox/deegree \
+	TOMCAT_ADDITIONAL_ARG_APP="-Djavax.xml.transform.TransformerFactory=net.sf.saxon.TransformerFactoryImpl -Djts.overlay=ng -Duser.timezone=Europe/Berlin" \
+	TOMCAT_ADDITIONAL_ARG_JAVA17_EXPORTS="--add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED" \
+	XPLANBOX_CONFIG="/xplanbox/xplan-validator-config"
 
 USER root