#!/bin/bash
# Installs the dyno as a user service that starts at power-on (no login needed,
# because "linger" is on for this user). Run from the minibike-dyno folder:
#   bash install.sh
set -e
cd "$(dirname "$0")"
DIR="$(pwd)"
mkdir -p ~/.config/systemd/user ~/minibike-dyno-data/runs
cat > ~/.config/systemd/user/minibike-dyno.service <<EOF
[Unit]
Description=Mini bike dyno (GPS horsepower + phone app on port 8080)
After=network-online.target

[Service]
WorkingDirectory=$DIR
ExecStart=/usr/bin/python3 -m dyno 8080
Environment=PYTHONUNBUFFERED=1
Restart=always
RestartSec=3

[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload
systemctl --user enable minibike-dyno.service
systemctl --user restart minibike-dyno.service
sleep 3
systemctl --user --no-pager status minibike-dyno.service | head -5
echo "starts at power-on: $(systemctl --user is-enabled minibike-dyno.service), linger: $(loginctl show-user "$USER" -p Linger --value)"
