mirror of
				https://github.com/DerTyp7/glassminers-server-docker.git
				synced 2025-10-31 05:37:11 +01:00 
			
		
		
		
	Remove watchdog again...
This commit is contained in:
		| @@ -5,7 +5,6 @@ RUN apt-get update && apt-get install -y wget | |||||||
| ENV MAX_LOGS="20" | ENV MAX_LOGS="20" | ||||||
| ENV LOG_DIR="/var/log/glassminers" | ENV LOG_DIR="/var/log/glassminers" | ||||||
| ENV LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" | ENV LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" | ||||||
| ENV WATCHDOG_ENABLED="false" |  | ||||||
|  |  | ||||||
| RUN mkdir -p ${LOG_DIR} | RUN mkdir -p ${LOG_DIR} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,7 +9,6 @@ services: | |||||||
|       - MAX_LOGS=20 |       - MAX_LOGS=20 | ||||||
|       # - LOG_DIR="/var/log/glassminers" |       # - LOG_DIR="/var/log/glassminers" | ||||||
|       # - LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" # No spaces |       # - LOG_DATE_FORMAT="%Y-%m-%d-%H-%M-%S" # No spaces | ||||||
|       # - WATCHDOG_ENABLED="false" # Use docker restart behavior instead of internal watchdog |  | ||||||
|     volumes: |     volumes: | ||||||
|       - ./logs:/var/log/glassminers |       - ./logs:/var/log/glassminers | ||||||
|     ports: |     ports: | ||||||
|   | |||||||
| @@ -3,10 +3,9 @@ | |||||||
| MAX_LOGS=${MAX_LOGS:-20} | MAX_LOGS=${MAX_LOGS:-20} | ||||||
| LOG_DIR=${LOG_DIR:-"/var/log/glassminers"} | LOG_DIR=${LOG_DIR:-"/var/log/glassminers"} | ||||||
| LOG_DATE_FORMAT=${LOG_DATE_FORMAT:-"%Y-%m-%d-%H-%M-%S"} | LOG_DATE_FORMAT=${LOG_DATE_FORMAT:-"%Y-%m-%d-%H-%M-%S"} | ||||||
| WATCHDOG_ENABLED=${WATCHDOG_ENABLED:-false} |  | ||||||
| MAX_RETRIES=${MAX_RETRIES:-10} |  | ||||||
|  |  | ||||||
| mkdir -p "$LOG_DIR" | EXEC=./server.out | ||||||
|  | TIMESTAMP=$(date +"$LOG_DATE_FORMAT") | ||||||
|  |  | ||||||
| delete_old_logs() { | delete_old_logs() { | ||||||
|   if [ -d "$LOG_DIR" ]; then |   if [ -d "$LOG_DIR" ]; then | ||||||
| @@ -37,44 +36,17 @@ clean_up() { | |||||||
|   delete_old_logs |   delete_old_logs | ||||||
| } | } | ||||||
|  |  | ||||||
| trap 'clean_up; shutdown_requested=true; kill -TERM $SERVER_PID' SIGTERM SIGINT | trap 'clean_up; exit 0' SIGTERM | ||||||
|  |  | ||||||
| echo "[Info] Max number of logs set to $MAX_LOGS" | echo "[Info] Max number of logs set to $MAX_LOGS" | ||||||
| echo "[Info] Watchdog enabled: $WATCHDOG_ENABLED" | echo "[Info] Server is starting at [$TIMESTAMP]" | ||||||
| echo "[Info] Max retries: $MAX_RETRIES" | $EXEC >"$LOG_DIR/latest.log" & | ||||||
|  | SERVER_PID=$! | ||||||
|  |  | ||||||
| shutdown_requested=false | wait $SERVER_PID | ||||||
| retry_count=0 | EXIT_STATUS=$? | ||||||
| while true; do |  | ||||||
|   TIMESTAMP=$(date +"$LOG_DATE_FORMAT") |  | ||||||
|   echo "[Info] Server is starting at [$TIMESTAMP]" |  | ||||||
|  |  | ||||||
|   $EXEC >"$LOG_DIR/latest.log" 2>&1 & |  | ||||||
|   SERVER_PID=$! |  | ||||||
|  |  | ||||||
|   wait $SERVER_PID |  | ||||||
|   EXIT_STATUS=$? |  | ||||||
|  |  | ||||||
|   echo "[Info] Server stopped at [$(date +"$LOG_DATE_FORMAT")] with exit code: $EXIT_STATUS" |  | ||||||
|  |  | ||||||
|   if [ "$shutdown_requested" = true ] || [ $EXIT_STATUS -eq 0 ]; then |  | ||||||
|     break |  | ||||||
|   fi |  | ||||||
|  |  | ||||||
|   if [ "$WATCHDOG_ENABLED" = true ]; then |  | ||||||
|     if [ $retry_count -lt $MAX_RETRIES ]; then |  | ||||||
|       retry_count=$((retry_count + 1)) |  | ||||||
|       clean_up |  | ||||||
|       echo "[Warning] Watchdog restarting server after crash (attempt $retry_count/$MAX_RETRIES)" |  | ||||||
|       sleep 5 |  | ||||||
|     else |  | ||||||
|       echo "[Error] Max retries reached ($MAX_RETRIES). Watchdog stopping." |  | ||||||
|       break |  | ||||||
|     fi |  | ||||||
|   else |  | ||||||
|     break |  | ||||||
|   fi |  | ||||||
| done |  | ||||||
|  |  | ||||||
| clean_up | clean_up | ||||||
| echo "[Info] Watchdog script exiting" |  | ||||||
|  | echo "[Info] Server stopped at [$(date +"$LOG_DATE_FORMAT")] with exit code: $EXIT_STATUS" | ||||||
|  | sleep 5 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user