Skip to content

Keep setup running

tapster setup normally runs while you need it and stops after two hours without use. The tapster service keeps it running on your computer instead: it starts when you log in, its page is always one tapster setup away and it tells you when a new tapster is out. Your keys still go only to your own GitHub account and your own Cloudflare account.

The service needs tapster installed, because bunx runs a temporary copy. Install it with Homebrew or Bun:

Terminal window
brew install --cask doguyilmaz/tap/tapster
Terminal window
bun add -g @doguyilmaz/tapster

Then install the service:

Terminal window
tapster service install

On macOS this adds a LaunchAgent, ~/Library/LaunchAgents/com.doguyilmaz.tapster.plist. On Linux it adds a systemd user unit, ~/.config/systemd/user/tapster.service. Both run tapster setup --service from the path your install keeps across upgrades. If another program holds port 8277, the service takes the next free port up to 8299 and keeps it in ~/.config/tapster/service.json.

Terminal window
tapster setup

With the service running, tapster setup asks it for a link that works once and opens it. The page then stays signed in in that browser for up to 30 days. After 12 hours without a click it locks. Then run tapster setup again.

The service’s page can be installed as an app, so it opens in its own window from the Dock or Launchpad. In Chrome or Edge, open the page, then click the install icon at the right of the address bar and choose Install. The app is the same page from your computer, with the same checks; nothing is loaded from the internet. It shares the browser’s sign-in, so a link from tapster setup that opened in the browser signs the app in too.

Safari’s Add to Dock keeps a separate store for the app, so the link tapster setup opens in Safari does not sign it in. Use Chrome or Edge for the app.

When a new release is out, the page says tapster 1.7.5 is available. Click Update, then confirm. tapster:

  1. runs the upgrade of your install: brew update and brew upgrade --cask tapster for Homebrew, bun add -g @doguyilmaz/tapster@<version> for Bun, npm install -g @doguyilmaz/tapster@<version> for npm;
  2. checks that the new tapster --version reports that version;
  3. on macOS, checks that the new binary’s signature is valid and comes from the Apple Team ID of the running one;
  4. restarts. The page waits for the new version and reloads where you were.

If a check fails, the running version stays. The page shows the reason and the command to run yourself. If the new binary was already in place, tapster also turns the service off, so the unchecked binary does not start by itself. After you update by hand, tapster service install turns it on again.

If you upgraded from a terminal, the page detects that a newer version is already installed and offers Restart with …. It checks the installed binary before restarting and keeps the page’s pairing. tapster upgrade also restarts the service after the package manager finishes. Opening tapster setup from a newer installed version refreshes an older service before opening its page. The header shows the version serving the interface.

You can also restart it yourself without reinstalling the service or changing its port:

Terminal window
tapster service restart

The hub keeps running the tapster version its workflow pins until you move it. After an update the page says The hub runs tapster 1.7.4 and whether the new version changes the code that runs in the hub. Update the hub lists the files it changes and writes them to main in one commit, as the Hub files step does. You confirm first.

Terminal window
tapster service status
tapster service logs

status says which version runs and at which address. logs shows the recent log: on macOS from ~/Library/Logs/tapster/service.log, on Linux from the journal.

Terminal window
tapster service uninstall

This stops the service and removes the LaunchAgent or the unit and ~/.config/tapster. tapster itself stays installed and tapster setup works as before.

See Security for what the service lets a program on your computer do.