diff --git a/deploy/deploy-test-server.sh b/deploy/deploy-test-server.sh index b868f1a..c26dbc5 100755 --- a/deploy/deploy-test-server.sh +++ b/deploy/deploy-test-server.sh @@ -141,6 +141,8 @@ $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/l4d2-game.sl $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/l4d2-build.slice /usr/local/lib/systemd/system/l4d2-build.slice $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-nft-mark.service /usr/local/lib/systemd/system/left4me-nft-mark.service $sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-cake.service /usr/local/lib/systemd/system/left4me-cake.service +$sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.service /usr/local/lib/systemd/system/left4me-workshop-refresh.service +$sudo_cmd cp /opt/left4me/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.timer /usr/local/lib/systemd/system/left4me-workshop-refresh.timer # CPU isolation via cgroup-v2 AllowedCPUs= drop-ins. Pin everything that # isn't a live game server to core 0; give game servers cores 1..N-1. @@ -337,6 +339,7 @@ $sudo_cmd systemctl enable --now left4me-nft-mark.service $sudo_cmd systemctl enable --now left4me-cake.service $sudo_cmd systemctl enable --now left4me-web.service $sudo_cmd systemctl restart left4me-web.service +$sudo_cmd systemctl enable --now left4me-workshop-refresh.timer for attempt in 1 2 3 4 5 6 7 8 9 10; do if curl -fsS http://127.0.0.1:8000/health; then exit 0 diff --git a/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.service b/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.service new file mode 100644 index 0000000..2d4a4d8 --- /dev/null +++ b/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.service @@ -0,0 +1,15 @@ +[Unit] +Description=left4me daily workshop refresh (enqueue job) +After=network-online.target left4me-web.service +Requires=left4me-web.service + +[Service] +Type=oneshot +User=left4me +Group=left4me +WorkingDirectory=/opt/left4me +Environment=HOME=/var/lib/left4me +Environment=PATH=/opt/left4me/.venv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +EnvironmentFile=/etc/left4me/host.env +EnvironmentFile=/etc/left4me/web.env +ExecStart=/opt/left4me/.venv/bin/flask --app l4d2web.app:create_app workshop-refresh diff --git a/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.timer b/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.timer new file mode 100644 index 0000000..109c3ef --- /dev/null +++ b/deploy/files/usr/local/lib/systemd/system/left4me-workshop-refresh.timer @@ -0,0 +1,11 @@ +[Unit] +Description=left4me daily workshop refresh + +[Timer] +OnCalendar=*-*-* 04:00:00 +Persistent=true +RandomizedDelaySec=15min +Unit=left4me-workshop-refresh.service + +[Install] +WantedBy=timers.target