diff --git a/Makefile b/Makefile index fb52343..7c3ec79 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -.PHONY: deploy clean start default frontend +.PHONY: deploy clean start debug frontend install-service server/server: frontend rm -rf server/dist @@ -8,19 +8,23 @@ server/server: frontend frontend: npm run build -deploy: server/server - scp server/server kiosk: +deploy: server/server install-service + ssh kiosk "systemctl --user stop digital-turntable.service" || true + scp server/server kiosk:~/server + ssh kiosk "chmod +x ~/server && systemctl --user start digital-turntable.service" + +install-service: + ssh kiosk "mkdir -p ~/.config/systemd/user" + scp server/digital-turntable.service kiosk:~/.config/systemd/user/digital-turntable.service + ssh kiosk "systemctl --user daemon-reload && systemctl --user enable digital-turntable.service" clean: rm -rf dist server/dist server/server start: deploy - # TODO: This doesn't kill weston nicely; I should handle that? Or background or something - ssh kiosk "pgrep -f './server' || ./server &" ssh kiosk "pkill -f 'weston --shell=kiosk-shell.so'" || true ssh kiosk weston --shell=kiosk-shell.so -- firefox --kiosk localhost:8000 --remote-debugging-port=9222 debug: deploy - ssh kiosk "pgrep -f './server' || ./server &" ssh kiosk "pkill -f 'weston --shell=kiosk-shell.so'" || true ssh -L 6000:localhost:6000 kiosk weston --shell=kiosk-shell.so -- firefox --kiosk localhost:8000 --start-debugger-server 6000 diff --git a/server/digital-turntable.service b/server/digital-turntable.service new file mode 100644 index 0000000..57ed601 --- /dev/null +++ b/server/digital-turntable.service @@ -0,0 +1,13 @@ +[Unit] +Description=Digital Turntable kiosk server +After=network.target + +[Service] +Type=simple +WorkingDirectory=%h +ExecStart=%h/server +Restart=on-failure +RestartSec=2 + +[Install] +WantedBy=default.target