55
66set -e
77
8- WORK_DIR=" /home/pi /laravel-jeopardy"
8+ WORK_DIR=" /home/geocodio /laravel-jeopardy"
99SERVICE_NAME=" laravel-buzzer"
1010SERVICE_FILE=" /etc/systemd/system/${SERVICE_NAME} .service"
1111LOG_DIR=" /var/log/laravel-buzzer"
5353if [ ! -d " $LOG_DIR " ]; then
5454 log " Creating log directory at $LOG_DIR ..."
5555 mkdir -p " $LOG_DIR "
56- chown pi:pi " $LOG_DIR "
56+ chown geocodio:geocodio " $LOG_DIR "
5757fi
5858
5959# Create wrapper script for the buzzer server
@@ -63,15 +63,15 @@ log "Creating wrapper script at $WRAPPER_SCRIPT..."
6363cat > " $WRAPPER_SCRIPT " << 'EOF '
6464#!/bin/bash
6565
66- WORK_DIR="/home/pi /laravel-jeopardy"
66+ WORK_DIR="/home/geocodio /laravel-jeopardy"
6767LOG_DIR="/var/log/laravel-buzzer"
6868LOG_FILE="$LOG_DIR/buzzer-server.log"
6969ERROR_LOG="$LOG_DIR/buzzer-server-error.log"
7070RESTART_LOG="$LOG_DIR/restart.log"
7171
7272# Ensure log files exist and are writable
7373touch "$LOG_FILE" "$ERROR_LOG" "$RESTART_LOG"
74- chown pi:pi "$LOG_FILE" "$ERROR_LOG" "$RESTART_LOG"
74+ chown geocodio:geocodio "$LOG_FILE" "$ERROR_LOG" "$RESTART_LOG"
7575
7676log_message() {
7777 echo "[$(date '+%Y-%m-%d %H:%M:%S')] $1" | tee -a "$LOG_FILE"
@@ -92,13 +92,13 @@ MAX_RESTART_DELAY=60
9292
9393while true; do
9494 log_message "Starting buzzer server (attempt #$((RESTART_COUNT + 1)))..."
95-
95+
9696 # Run the buzzer server and capture its exit code
9797 php artisan buzzer-server >> "$LOG_FILE" 2>> "$ERROR_LOG"
9898 EXIT_CODE=$?
99-
99+
100100 RESTART_COUNT=$((RESTART_COUNT + 1))
101-
101+
102102 if [ $EXIT_CODE -eq 0 ]; then
103103 log_message "Buzzer server exited normally with code 0"
104104 log_restart "Normal exit after $RESTART_COUNT restart(s)"
@@ -107,18 +107,18 @@ while true; do
107107 log_restart "CRASH: Exit code $EXIT_CODE after running. Restart #$RESTART_COUNT"
108108 echo "[$(date '+%Y-%m-%d %H:%M:%S')] Process crashed with exit code $EXIT_CODE" >> "$ERROR_LOG"
109109 fi
110-
110+
111111 # Calculate restart delay (exponential backoff with max limit)
112112 if [ $RESTART_COUNT -lt 5 ]; then
113113 DELAY=$((RESTART_COUNT * 2))
114114 else
115115 DELAY=$MAX_RESTART_DELAY
116116 fi
117-
117+
118118 log_message "Waiting $DELAY seconds before restart..."
119119 log_restart "Waiting $DELAY seconds before restart #$((RESTART_COUNT + 1))"
120120 sleep $DELAY
121-
121+
122122 log_message "Restarting buzzer server..."
123123done
124124EOF
@@ -137,16 +137,16 @@ StartLimitIntervalSec=0
137137
138138[Service]
139139Type=simple
140- User=pi
141- Group=pi
140+ User=geocodio
141+ Group=geocodio
142142WorkingDirectory=$WORK_DIR
143143ExecStart=$WRAPPER_SCRIPT
144144Restart=always
145145RestartSec=5
146146
147147# Environment variables
148148Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
149- Environment="HOME=/home/pi "
149+ Environment="HOME=/home/geocodio "
150150
151151# Logging
152152StandardOutput=journal
@@ -175,7 +175,7 @@ if systemctl is-active --quiet "$SERVICE_NAME"; then
175175else
176176 log " Enabling service to start on boot..."
177177 systemctl enable " $SERVICE_NAME "
178-
178+
179179 log " Starting service..."
180180 systemctl start " $SERVICE_NAME "
181181fi
@@ -254,4 +254,4 @@ echo "Log Files:"
254254echo " $LOG_DIR /buzzer-server.log - Main application log"
255255echo " $LOG_DIR /buzzer-server-error.log - Error log"
256256echo " $LOG_DIR /restart.log - Restart history"
257- echo " "
257+ echo " "
0 commit comments