From d084dfb4705fca68bb9f9465ec9564050d0b04b2 Mon Sep 17 00:00:00 2001 From: Tobias <96661824+CrazyWolf13@users.noreply.github.com> Date: Mon, 8 Dec 2025 22:59:59 +0100 Subject: [PATCH] fix: improve run script (#4609) Co-authored-by: Meier Lukas --- scripts/run.sh | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/scripts/run.sh b/scripts/run.sh index 9fc481fdd..f1220d9eb 100644 --- a/scripts/run.sh +++ b/scripts/run.sh @@ -1,10 +1,12 @@ +#!/usr/bin/env bash + # Create sub directories in volume mkdir -p /appdata/db mkdir -p /appdata/redis mkdir -p /appdata/trusted-certificates # Run migrations -if [ $DB_MIGRATIONS_DISABLED = "true" ]; then +if [ "$DB_MIGRATIONS_DISABLED" = "true" ]; then echo "DB migrations are disabled, skipping" else echo "Running DB migrations" @@ -20,13 +22,15 @@ export CRON_JOB_API_KEY=$(openssl rand -base64 32) # 1. Replace the HOSTNAME in the nginx template file # 2. Create the nginx configuration file from the template # 3. Start the nginx server +export HOSTNAME envsubst '${HOSTNAME}' < /etc/nginx/templates/nginx.conf > /etc/nginx/nginx.conf # Start services in the background and store their PIDs nginx -g 'daemon off;' & NGINX_PID=$! -if [ $REDIS_IS_EXTERNAL = "true" ]; then +if [ "$REDIS_IS_EXTERNAL" = "true" ]; then echo "Using external Redis server at redis://$REDIS_HOST:$REDIS_PORT" + REDIS_PID="" else echo "Starting internal Redis server" redis-server /app/redis.conf & @@ -49,9 +53,11 @@ terminate() { echo "Received SIGTERM. Shutting down..." kill -TERM $NGINX_PID $TASKS_PID $WSS_PID $NEXTJS_PID 2>/dev/null wait - # kill redis-server last because of logging of other services - kill -TERM $REDIS_PID 2>/dev/null - wait + # kill redis-server last because of logging of other services and only if $REDIS_PID is set + if [ -n "$REDIS_PID" ]; then + kill -TERM $REDIS_PID 2>/dev/null + wait + fi echo "Shutdown complete." exit 0 } @@ -61,4 +67,4 @@ trap terminate TERM INT # Wait for all processes wait $NEXTJS_PID -terminate \ No newline at end of file +terminate