diff --git a/install.sh b/install.sh
index 1625fa080c..fc894ce21e 100755
--- a/install.sh
+++ b/install.sh
@@ -38,9 +38,9 @@ populate_upload_location() {
 start_docker_compose() {
   echo "Starting Immich's docker containers"
 
-  if docker compose > /dev/null 2>&1; then
+  if docker compose >/dev/null 2>&1; then
     docker_bin="docker compose"
-  elif docker-compose > /dev/null 2>&1; then
+  elif docker-compose >/dev/null 2>&1; then
     docker_bin="docker-compose"
   else
     echo "Cannot find \`docker compose\` or \`docker-compose\`."
diff --git a/server/Dockerfile b/server/Dockerfile
index eb62b8812a..1331ea6d48 100644
--- a/server/Dockerfile
+++ b/server/Dockerfile
@@ -59,4 +59,4 @@ COPY LICENSE /LICENSE
 ENV PATH="${PATH}:/usr/src/app/bin"
 VOLUME /usr/src/app/upload
 EXPOSE 3001
-ENTRYPOINT ["tini", "--", "/bin/sh"]
+ENTRYPOINT ["tini", "--", "/bin/bash"]
diff --git a/server/start-microservices.sh b/server/start-microservices.sh
index efdafaac02..c9e2cb42fb 100755
--- a/server/start-microservices.sh
+++ b/server/start-microservices.sh
@@ -1,2 +1,3 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
+
 ./start.sh microservices
diff --git a/server/start-server.sh b/server/start-server.sh
index acbbb82b99..7ef959f63c 100755
--- a/server/start-server.sh
+++ b/server/start-server.sh
@@ -1,2 +1,3 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
+
 ./start.sh immich
diff --git a/server/start.sh b/server/start.sh
index 268989dda0..9dba2e2922 100755
--- a/server/start.sh
+++ b/server/start.sh
@@ -1,42 +1,17 @@
-#!/usr/bin/env sh
+#!/usr/bin/env bash
 
-lib_path="/usr/lib/$(arch)-linux-gnu/libmimalloc.so.2"
-export LD_PRELOAD="$lib_path"
-
-if [ "$DB_URL_FILE" ]; then
-	DB_URL_CONTENT=$(cat "$DB_URL_FILE")
-	export DB_URL="$DB_URL_CONTENT"
-	unset DB_URL_FILE
-fi
-
-if [ "$DB_HOSTNAME_FILE" ]; then
-	DB_HOSTNAME_CONTENT=$(cat "$DB_HOSTNAME_FILE")
-	export DB_HOSTNAME="$DB_HOSTNAME_CONTENT"
-	unset DB_HOSTNAME_FILE
-fi
-
-if [ "$DB_DATABASE_NAME_FILE" ]; then
-	DB_DATABASE_CONTENT=$(cat "$DB_DATABASE_NAME_FILE")
-	export DB_DATABASE_NAME="$DB_DATABASE_CONTENT"
-	unset DB_DATABASE_NAME_FILE
-fi
-
-if [ "$DB_USERNAME_FILE" ]; then
-	DB_USERNAME_CONTENT=$(cat "$DB_USERNAME_FILE")
-	export DB_USERNAME="$DB_USERNAME_CONTENT"
-	unset DB_USERNAME_FILE
-fi
-
-if [ "$DB_PASSWORD_FILE" ]; then
-	DB_PASSWORD_CONTENT=$(cat "$DB_PASSWORD_FILE")
-	export DB_PASSWORD="$DB_PASSWORD_CONTENT"
-	unset DB_PASSWORD_FILE
-fi
-
-if [ "$REDIS_PASSWORD_FILE" ]; then
-	REDIS_PASSWORD_CONTENT=$(cat "$REDIS_PASSWORD_FILE")
-	export DB_PASSWORD="$REDIS_PASSWORD_CONTENT"
-	unset REDIS_PASSWORD_FILE
-fi
+read_file_and_export() {
+	if [ -n "${!1}" ]; then
+		content="$(cat "${!1}")"
+		export "$2"="${content}"
+		unset "$1"
+	fi
+}
+read_file_and_export "DB_URL_FILE" "DB_URL"
+read_file_and_export "DB_HOSTNAME_FILE" "DB_HOSTNAME"
+read_file_and_export "DB_DATABASE_NAME_FILE" "DB_DATABASE_NAME"
+read_file_and_export "DB_USERNAME_FILE" "DB_USERNAME"
+read_file_and_export "DB_PASSWORD_FILE" "DB_PASSWORD"
+read_file_and_export "REDIS_PASSWORD_FILE" "REDIS_PASSWORD"
 
 exec node /usr/src/app/dist/main "$@"