updated install sh

This commit is contained in:
2025-06-23 15:36:55 +03:00
parent 45c4040fa4
commit 71eab75d51

View File

@@ -80,64 +80,40 @@ chmod +x "$INSTALL_DIR/run_app.sh" || {
exit 1 exit 1
} }
# Check and update the signage_player.service file # Create the signage_player.service file in the installation folder
if [[ -f "$SERVICE_FILE" ]]; then SERVICE_TEMPLATE="$INSTALL_DIR/signage_player.service"
echo "Checking signage_player.service file..." echo "Creating signage_player.service file in the installation folder..."
WORKING_DIR=$(grep -oP '(?<=^WorkingDirectory=).*' "$SERVICE_FILE") cat <<EOF > "$SERVICE_TEMPLATE"
EXEC_START=$(grep -oP '(?<=^ExecStart=).*' "$SERVICE_FILE") [Unit]
Description=Signage Player Service
After=network.target
EXPECTED_WORKING_DIR="$INSTALL_DIR" [Service]
EXPECTED_EXEC_START="$INSTALL_DIR/run_app.sh" Type=simple
WorkingDirectory=$INSTALL_DIR
ExecStart=$INSTALL_DIR/run_app.sh
Restart=always
RestartSec=5
if [[ "$WORKING_DIR" != "$EXPECTED_WORKING_DIR" || "$EXEC_START" != "$EXPECTED_EXEC_START" ]]; then [Install]
echo "Updating signage_player.service file..." WantedBy=multi-user.target
sudo cp "$INSTALL_DIR/signage_player.service" "$SERVICE_FILE" EOF
sudo sed -i "s|^WorkingDirectory=.*|WorkingDirectory=$INSTALL_DIR|" "$SERVICE_FILE"
sudo sed -i "s|^ExecStart=.*|ExecStart=$INSTALL_DIR/run_app.sh|" "$SERVICE_FILE" # Copy the service file to the systemd service directory
echo "Copying signage_player.service file to $SERVICE_FILE..."
sudo cp "$SERVICE_TEMPLATE" "$SERVICE_FILE" || {
echo "Error: Failed to copy signage_player.service file."
read -p "Press any key to close the terminal..." -n 1 -s
exit 1
}
# Reload systemd daemon
echo "Reloading systemd daemon..."
sudo systemctl daemon-reload || { sudo systemctl daemon-reload || {
echo "Error: Failed to reload systemd daemon." echo "Error: Failed to reload systemd daemon."
read -p "Press any key to close the terminal..." -n 1 -s read -p "Press any key to close the terminal..." -n 1 -s
exit 1 exit 1
} }
echo "signage_player.service file updated successfully."
else
echo "signage_player.service file is already configured correctly."
fi
else
echo "signage_player.service file not found. Copying and configuring it..."
sudo cp "$INSTALL_DIR/signage_player.service" "$SERVICE_FILE"
sudo sed -i "s|^WorkingDirectory=.*|WorkingDirectory=$INSTALL_DIR|" "$SERVICE_FILE"
sudo sed -i "s|^ExecStart=.*|ExecStart=$INSTALL_DIR/run_app.sh|" "$SERVICE_FILE"
sudo systemctl daemon-reload || {
echo "Error: Failed to reload systemd daemon."
read -p "Press any key to close the terminal..." -n 1 -s
exit 1
}
echo "signage_player.service file created and configured successfully."
fi
# Check and update the working directory in run_app.sh
echo "Checking run_app.sh for correct working directory..."
if [[ -f "$RUN_APP_FILE" ]]; then
CURRENT_WORKING_DIR=$(grep -oP '(?<=^cd ).*' "$RUN_APP_FILE" | head -n 1)
EXPECTED_WORKING_DIR="$INSTALL_DIR/src"
if [[ "$CURRENT_WORKING_DIR" != "$EXPECTED_WORKING_DIR" ]]; then
echo "Updating working directory in run_app.sh..."
sudo sed -i "s|^cd .*|cd $EXPECTED_WORKING_DIR|" "$RUN_APP_FILE" || {
echo "Error: Failed to update working directory in run_app.sh."
read -p "Press any key to close the terminal..." -n 1 -s
exit 1
}
echo "run_app.sh updated successfully."
else
echo "run_app.sh is already configured correctly."
fi
else
echo "Error: run_app.sh file not found."
read -p "Press any key to close the terminal..." -n 1 -s
exit 1
fi
# Enable the service # Enable the service
echo "Enabling signage_player.service..." echo "Enabling signage_player.service..."
@@ -147,6 +123,8 @@ sudo systemctl enable signage_player.service || {
exit 1 exit 1
} }
echo "signage_player.service file created, copied, and enabled successfully."
# Restart the system to check if the service starts # Restart the system to check if the service starts
echo "Restarting the system to check if the service starts..." echo "Restarting the system to check if the service starts..."
sudo reboot || { sudo reboot || {