37 lines
860 B
Bash
Executable File
37 lines
860 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ "${EUID}" -ne 0 ]]; then
|
|
echo "Run as root: sudo bash deploy/install_systemd.sh" >&2
|
|
exit 1
|
|
fi
|
|
|
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
SERVICE_FILE="/etc/systemd/system/updown-dashboard.service"
|
|
|
|
cat > "${SERVICE_FILE}" <<UNIT
|
|
[Unit]
|
|
Description=Polymarket BTC Up/Down dashboard
|
|
Requires=docker.service
|
|
After=docker.service network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
WorkingDirectory=${PROJECT_DIR}
|
|
ExecStart=/usr/bin/docker compose up -d --build
|
|
ExecStop=/usr/bin/docker compose down
|
|
TimeoutStartSec=180
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
UNIT
|
|
|
|
systemctl daemon-reload
|
|
systemctl enable updown-dashboard.service
|
|
|
|
echo "Installed systemd service: updown-dashboard"
|
|
echo "Start it with:"
|
|
echo " sudo systemctl start updown-dashboard"
|