Rookery

macOS

Rookery is a tiny macOS menu-bar app that gives a self-hosted Gitea act_runner a permitted home on your Mac.

Why it exists

macOS Sequoia (15) added Local Network Privacy: an app must be granted access before it can reach LAN addresses (192.168.x.x). A launchd-spawned act_runner connecting to a LAN Gitea fails immediately with connect: no route to host — and because the process exits the moment it fails, macOS never shows the permission prompt and never lists it in Settings → Privacy & Security → Local Network (Apple bug FB16131937). So you can’t grant it, and the runner can’t connect.

Rookery fixes that: it’s a menu-bar app that holds the Local Network grant and runs act_runner as its child — so the runner inherits Rookery’s permission and connects.

What it does

  • A menu-bar icon shows live status, with a Building: <owner>/<repo> line naming the current job.
  • Start / Stop / Restart the runner, open the log, or register a new runner — all from the menu.
  • Auto-restarts the runner if it exits.
  • Runner registration and the log live in ~/Library/Application Support/Rookery/.
IconMeaning
🟢Connected — idle, waiting for jobs
A job is building
🟡Starting up
🔴No local-network access (can’t reach Gitea)
Stopped / not registered

Get it

Grab the signed & notarised .dmg from the Downloads page. On first launch, Allow the Local Network prompt, then open Settings… → Register with your Gitea URL and a registration token — Rookery runs act_runner register for you and starts it. Turn on Launch at login and you’re set.