mirror of
https://github.com/suchmememanyskill/CYD-Klipper.git
synced 2026-03-21 13:43:25 +00:00
53 lines
1.5 KiB
Bash
53 lines
1.5 KiB
Bash
#!/bin/bash
|
|
|
|
if [ "$EUID" -eq 0 ]; then
|
|
read -r -p "Are you sure you want to run this service as root? [y/N] " response
|
|
response=${response,,} # tolower
|
|
if ! [[ "$response" =~ ^(yes|y)$ ]]; then
|
|
exit
|
|
fi
|
|
SERVICE_PATH="/etc/systemd/system/cyd-klipper-serial.service"
|
|
else
|
|
echo "Are you sure you want to run this service as the current user?"
|
|
read -r -p "Make sure this user is logged in at boot! [y/N] " response
|
|
response=${response,,} # tolower
|
|
if ! [[ "$response" =~ ^(yes|y)$ ]]; then
|
|
exit
|
|
fi
|
|
mkdir -p ~/.config/systemd/user
|
|
SERVICE_PATH="$HOME/.config/systemd/user/cyd-klipper-serial.service"
|
|
fi
|
|
|
|
set -e
|
|
|
|
chmod a+x ./run.sh
|
|
|
|
# Install dependencies
|
|
python3 -m venv ./env
|
|
source ./env/bin/activate
|
|
pip3 install -r requirements.txt
|
|
|
|
# Create systemd unit file
|
|
|
|
echo "[Unit]" > $SERVICE_PATH
|
|
echo "Description=CYD Klipper serial server" >> $SERVICE_PATH
|
|
echo "After=network.target" >> $SERVICE_PATH
|
|
echo "" >> $SERVICE_PATH
|
|
echo "[Service]" >> $SERVICE_PATH
|
|
echo "ExecStart=$(pwd)/run.sh" >> $SERVICE_PATH
|
|
echo "WorkingDirectory=$(pwd)" >> $SERVICE_PATH
|
|
echo "Restart=always" >> $SERVICE_PATH
|
|
echo "" >> $SERVICE_PATH
|
|
echo "[Install]" >> $SERVICE_PATH
|
|
echo "WantedBy=multi-user.target" >> $SERVICE_PATH
|
|
|
|
# Start the service
|
|
if [ "$EUID" -eq 0 ]; then
|
|
systemctl daemon-reload
|
|
systemctl enable cyd-klipper-serial
|
|
systemctl start cyd-klipper-serial
|
|
else
|
|
systemctl --user daemon-reload
|
|
systemctl --user enable cyd-klipper-serial
|
|
systemctl --user start cyd-klipper-serial
|
|
fi |