updated install sh
This commit is contained in:
84
Install.sh
84
Install.sh
@@ -80,64 +80,40 @@ chmod +x "$INSTALL_DIR/run_app.sh" || {
|
||||
exit 1
|
||||
}
|
||||
|
||||
# Check and update the signage_player.service file
|
||||
if [[ -f "$SERVICE_FILE" ]]; then
|
||||
echo "Checking signage_player.service file..."
|
||||
WORKING_DIR=$(grep -oP '(?<=^WorkingDirectory=).*' "$SERVICE_FILE")
|
||||
EXEC_START=$(grep -oP '(?<=^ExecStart=).*' "$SERVICE_FILE")
|
||||
# Create the signage_player.service file in the installation folder
|
||||
SERVICE_TEMPLATE="$INSTALL_DIR/signage_player.service"
|
||||
echo "Creating signage_player.service file in the installation folder..."
|
||||
cat <<EOF > "$SERVICE_TEMPLATE"
|
||||
[Unit]
|
||||
Description=Signage Player Service
|
||||
After=network.target
|
||||
|
||||
EXPECTED_WORKING_DIR="$INSTALL_DIR"
|
||||
EXPECTED_EXEC_START="$INSTALL_DIR/run_app.sh"
|
||||
[Service]
|
||||
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
|
||||
echo "Updating signage_player.service file..."
|
||||
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 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
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
EOF
|
||||
|
||||
# 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."
|
||||
# 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
|
||||
fi
|
||||
}
|
||||
|
||||
# Reload systemd daemon
|
||||
echo "Reloading systemd daemon..."
|
||||
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
|
||||
}
|
||||
|
||||
# Enable the service
|
||||
echo "Enabling signage_player.service..."
|
||||
@@ -147,6 +123,8 @@ sudo systemctl enable signage_player.service || {
|
||||
exit 1
|
||||
}
|
||||
|
||||
echo "signage_player.service file created, copied, and enabled successfully."
|
||||
|
||||
# Restart the system to check if the service starts
|
||||
echo "Restarting the system to check if the service starts..."
|
||||
sudo reboot || {
|
||||
|
||||
Reference in New Issue
Block a user