diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index b6e5fbe57320383cd56c96cb4c0d598615a7e3fa..4fd9b717eee5c95779695155a226679ef3ac8d30 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -5,7 +5,7 @@ include:
 
 variables:
   VERSION: ${CI_COMMIT_TAG}
-  CI_VERSION: v2.2.16
+  CI_VERSION: v2.2.17
 
 before_script:
   - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
diff --git a/run/scripts/start b/run/scripts/start
index 367d7bfce76295e89a903e7112b78513d98f0cc6..c3f546dc4ee8b10a9ee721bc6c6e2410c6978b0e 100755
--- a/run/scripts/start
+++ b/run/scripts/start
@@ -1,9 +1,10 @@
 #!/bin/bash
 
 function getConfig() {
-  if [[ -f "docker-compose.yml" ]]; then
-    COMPOSE_PROJECT_NAME=$(yq .name docker-compose.yml)
-    PHP_VERSION=$(yq .services.php.image docker-compose.yml | cut -d':' -f 2)
+  if [[ "$L3D_COMPOSE" != "[]" ]]; then
+    COMPOSE_PROJECT_NAME=$(yq .name $L3D_COMPOSE)
+    PHP_VERSION=$(yq .services.php.image $L3D_COMPOSE | cut -d':' -f 2)
+    rm "$L3D_COMPOSE"
   fi
   if [[ ! -n ${PHP_VERSION} ]]; then
     while true; do
diff --git a/setup/scripts/l3d b/setup/scripts/l3d
index c4ec7d208a7afdab87ce30b7a1a98e9ddff5f50e..74c31a822a14090be6aaa7043f9d0566eefacccc 100755
--- a/setup/scripts/l3d
+++ b/setup/scripts/l3d
@@ -99,6 +99,11 @@ if [[ -f ".lakedrops.yml" ]]; then
   L3D_CONFIG=/tmp/${RANDOM}.lakedrops.yml
   docker cp .lakedrops.yml l3drun:$L3D_CONFIG >/dev/null 2>&1
 fi
+L3D_COMPOSE=[]
+if [[ -f "docker-compose.yml" ]]; then
+  L3D_COMPOSE=/tmp/${RANDOM}-docker-compose.yml
+  docker cp docker-compose.yml l3drun:$L3D_COMPOSE >/dev/null 2>&1
+fi
 
 # Create project container parameters
 project_params=(
@@ -110,6 +115,7 @@ project_params=(
   --env L3DSHELL=${L3DSHELL}
   --env L3D_ALWAYS_CLEANUP=${L3D_ALWAYS_CLEANUP}
   --env L3D_CONFIG=${L3D_CONFIG}
+  --env L3D_COMPOSE=${L3D_COMPOSE}
   --env WORKDIR=${PWD}
   --env PHP_VERSION=${PHP_VERSION}
   --env COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}
diff --git a/start.sh b/start.sh
index f54a8aa83fcafc76611345f6ba495ec7f15527f9..a6177539980d806c65becd3ac34999eba825ec83 100755
--- a/start.sh
+++ b/start.sh
@@ -32,23 +32,22 @@ function restoreEnvFile {
   if [[ "${COMPOSE_PROJECT_NAME}" == "." ]]; then
     return
   fi
-  if [[ ! -w ".env" ]]; then
-    return
-  fi
-  if [[ -n ${PHP_VERSION} ]]; then
-    echo "PHP_VERSION=${PHP_VERSION}" >>.env
-  fi
-  if [[ -n ${COMPOSE_PROJECT_NAME} ]]; then
-    echo "COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}" >>.env
-  fi
-  if [[ -n ${COMPOSER_DOWNGRADE} ]]; then
-    echo "COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE}" >>.env
-  fi
-  if [[ -f ".env" ]]; then
-    # shellcheck disable=SC2046
-    # shellcheck disable=SC2094
-    # shellcheck disable=SC2002
-    env -i $(cat .env | xargs) >.env
+  if [[ -f ".env" && -w ".env" ]] || [[ ! -f ".env" && -w . ]]; then
+    if [[ -n ${PHP_VERSION} ]]; then
+      echo "PHP_VERSION=${PHP_VERSION}" >>.env
+    fi
+    if [[ -n ${COMPOSE_PROJECT_NAME} ]]; then
+      echo "COMPOSE_PROJECT_NAME=${COMPOSE_PROJECT_NAME}" >>.env
+    fi
+    if [[ -n ${COMPOSER_DOWNGRADE} ]]; then
+      echo "COMPOSER_DOWNGRADE=${COMPOSER_DOWNGRADE}" >>.env
+    fi
+    if [[ -f ".env" ]]; then
+      # shellcheck disable=SC2046
+      # shellcheck disable=SC2094
+      # shellcheck disable=SC2002
+      env -i $(cat .env | xargs) >.env
+    fi
   fi
 }
 
@@ -210,7 +209,7 @@ function initialSetup {
 }
 
 function setupAhoy {
-  if [[ ! -f .ahoy.yml ]]; then
+  if [[ ! -f .ahoy.yml && -w . ]]; then
     echo "ahoyapi: v2" >.ahoy.yml
     echo "commands:" >>.ahoy.yml
   fi
@@ -220,20 +219,24 @@ function setupAhoy {
   if [[ -f .gitignore ]]; then
     EXISTING=$(cat .gitignore | grep "^/.ahoy.l3d$")
     if [[ -z ${EXISTING} ]]; then
-      echo "/.ahoy.l3d" >>.gitignore
+      if [[ -f ".gitignore" && -w ".gitignore" ]] || [[ ! -f ".gitignore" && -w . ]]; then
+        echo "/.ahoy.l3d" >>.gitignore
+      fi
     fi
   fi
-  EXISTING=$(cat .ahoy.yml | grep "^  changelog:")
-  if [[ -z ${EXISTING} ]]; then
-    echo "  changelog:" >>.ahoy.yml
-    echo "    imports:" >>.ahoy.yml
-    echo "      - ./.ahoy.l3d/changelog.yml" >>.ahoy.yml
-    echo "    usage: Changelog tools." >>.ahoy.yml
+  if [[ -f ".ahoy.yml" && -w ".ahoy.yml" ]] || [[ ! -f ".ahoy.yml" && -w . ]]; then
+    EXISTING=$(cat .ahoy.yml | grep "^  changelog:")
+    if [[ -z ${EXISTING} ]]; then
+      echo "  changelog:" >>.ahoy.yml
+      echo "    imports:" >>.ahoy.yml
+      echo "      - ./.ahoy.l3d/changelog.yml" >>.ahoy.yml
+      echo "    usage: Changelog tools." >>.ahoy.yml
+    fi
   fi
 }
 
 if [[ -n ${PHP_VERSION} ]]; then
-  if [[ -w ".env" ]]; then
+  if [[ -f ".env" && -w ".env" ]] || [[ ! -f ".env" && -w . ]]; then
     echo "PHP_VERSION=${PHP_VERSION}" >>.env
   fi
 fi