mirror of
https://github.com/DerTyp7/glassminers-server-docker.git
synced 2025-10-29 12:52:10 +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