forgejo: make the desktop runner unit restart-always, fix the vps2 config path #157
No reviewers
Labels
No labels
Compat/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Jinemi/thermograph#157
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/forgejo-runners"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Both runners already exist and are healthy —
thermograph-vps2(restart: always, executing tasks) and the desktop's systemd--userunit (active, enabled,Linger=yes). Nothing needed creating. These are the two real defects found while verifying that.Desktop unit:
Restart=on-failure->Restart=alwaysThe same distinction that took Forgejo down for 27 hours on 2026-07-29, which
docker-stack.ymlalready records for thedbservice: a daemon that exits 0 is not "finished successfully", it is one that stopped and must come back.on-failurecannot tell those apart. The failure mode is silent — unitinactive (dead), runner offline in the UI, and every protected-branch merge blocked on a check nothing will ever produce. That is exactly the shape of the 2026-07-31 outage.StartLimit*were being ignoredThey sat in
[Service], where systemd accepts them without complaint and then ignores them. The live unit was running the 10s default, not the intended 300s:runner-vps2/READMEsentconfig.yamlto a path the container cannot seeThe README said to copy
docker-compose.ymlandconfig.yamltogether into/opt/forgejo-runner/. But the compose file mounts./data:/dataand starts with--config /data/config.yaml, so/dataisdata/— a config beside the compose file is invisible. The daemon then runs on defaults with no--add-host, and every registry push fails in a way that looks exactly like a bad credential.vps2 had a stray copy at the documented path, so the instruction had been followed and worked around. Removed it; the README now sends the two files to their separate correct destinations and says why.
Applied live
Restart=always,StartLimitIntervalUSec=5min— viadaemon-reloadonly, with no job running, so nothing was interrupted/opt/forgejo-runner/config.yaml; container still upsystemd-analyze verify;shellcheckclean