diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index ba5dc24760301408888a33cfe79e548d7b3d5f00..d76b5a72cce4822427f580f2141acdb6e1006dd0 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -16,6 +16,7 @@ build:
     - docker:24.0.5-dind
   stage: build
   script:
+    - ./scripts/copy_env_file.sh
     - docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
     - docker compose build mcserver
     - docker compose push mcserver
@@ -50,6 +51,6 @@ coverage:
     when: always
   stage: coverage
   script:
-    - ./coverage_ci.sh
+    - ./scripts/coverage_ci.sh
     - cat coverage.log
   coverage: '/Statements.*?(\d+(?:\.\d+)?)%/'
diff --git a/README.md b/README.md
index c2dbd0339dbd866d40e081ff20af81afd10bbe15..6a756ed1abd8ec7925cf22075436a84f0df93274 100644
--- a/README.md
+++ b/README.md
@@ -13,7 +13,7 @@
    `git clone https://scm.cms.hu-berlin.de/callidus/machina-callida.git`.
 3. Move to the newly created folder:
    `cd machina-callida`.
-4. Run `./deploy.sh`.
+4. Run `./scripts/deploy.sh`.
 
    When using the application for the first time, it may take a few minutes until the container "mc_frontend" has
    finished compiling the application.
@@ -66,7 +66,7 @@ To update the changelog, use: `git log --oneline --decorate > CHANGELOG`
 
 ### Locally
 
-To test your code locally, run `./coverage_local.sh` (all components)
+To test your code locally, run `./scripts/coverage_local.sh` (all components)
 or `docker compose run --rm --entrypoint="./coverage_backend.sh" mcserver` (only backend).
 
 To test the GitLab CI locally, run `gitlab-runner exec docker --docker-privileged JOB_NAME`.
diff --git a/deploy.sh b/deploy.sh
deleted file mode 100755
index 9e67a66d083337827c385b3bae1b1a6c3c2d5979..0000000000000000000000000000000000000000
--- a/deploy.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-# rename the template environment file and ignore errors if it does not exist (e.g., because it was already renamed)
-mv ./mc_backend/mcserver/template.env ./mc_backend/mcserver/.env 2>/dev/null
-docker compose build
-docker compose down
-docker compose up -d
diff --git a/mc_frontend/package.json b/mc_frontend/package.json
index bb1498f98379abe49f0c6cd565c4f5c9a1bc8a77..e143c874abb33724b2838175137a08f525b1f0ea 100644
--- a/mc_frontend/package.json
+++ b/mc_frontend/package.json
@@ -1,6 +1,6 @@
 {
   "name": "mc_frontend",
-  "version": "2.8.1",
+  "version": "2.8.2",
   "author": "Ionic Framework",
   "homepage": "https://ionicframework.com/",
   "scripts": {
diff --git a/scripts/copy_env_file.sh b/scripts/copy_env_file.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b643cfd9a9970967f75ea50b0c420364a831f52c
--- /dev/null
+++ b/scripts/copy_env_file.sh
@@ -0,0 +1,2 @@
+# rename the template environment file and ignore errors if it does not exist (e.g., because it was already renamed)
+cp -u ./mc_backend/mcserver/template.env ./mc_backend/mcserver/.env 2>/dev/null
diff --git a/coverage_ci.sh b/scripts/coverage_ci.sh
similarity index 100%
rename from coverage_ci.sh
rename to scripts/coverage_ci.sh
diff --git a/coverage_local.sh b/scripts/coverage_local.sh
similarity index 100%
rename from coverage_local.sh
rename to scripts/coverage_local.sh
diff --git a/scripts/deploy.sh b/scripts/deploy.sh
new file mode 100755
index 0000000000000000000000000000000000000000..bcbd5cf17dbfe8c8d1e8f47dbe24bb2825e1e32d
--- /dev/null
+++ b/scripts/deploy.sh
@@ -0,0 +1,4 @@
+./scripts/copy_env_file.sh
+docker compose build
+docker compose down
+docker compose up -d