Skip to content

Instance admin at a glance

This page is for the sysop who keeps an instance running. It lists what only the sysop sees in the app, and links each recurring task: checks, backups, updates, sign-in links and the rest.

Who sees the admin surface

The Admin entry in the navigation rail opens Instance admin. It appears only for a sysop: a signed-in account whose active callsign is in ADMIN_CALLSIGNS and is control-verified (Who is a sysop). The server checks every admin write itself, so hiding a control in the app is never the only gate. When ADMIN_CALLSIGNS is unset, nobody sees the surface.

Instance admin holds settings for the whole instance. A member's own settings (account, callsigns, preferences, media, tools, their own data) stay under Settings and are not part of it.

Operator-only surfaces

Instance admin has these groups, each collapsed until you open it:

Group What you do there Page
Setup the first-install checklist: Blocking, Recommended and Optional items, and the 44Net self-check Your first hour
Instance settings the policy values: game rules, API limits, retention, imports and spots, the imprint, donation links, the update check; a value the environment sets shows read-only Instance settings
Callsigns look a call up, verify it by hand, release it from an account, list and revoke manual verifications Callsign verification
Stations for members list a club station for the member who runs it, when that member does not hold the club call: give the member's callsign, the station's callsign and its position (blank takes a heard station's) Stations for members
Reports, Accounts, Audit log the moderation queue: settle reports, remove content, find and suspend an account, and the record of every action Moderation
Cache adoption offer caches for adoption, decide requests, assign an owner Cache adoption
API keys every member's read-API key with its owner, name, prefix and last use; Revoke one that is misused API reference
Federation the peer list with health and reputation, each peer's trust (trusted, unvetted, blocked), a manual sync, the Discovered group of instances trusted peers list or the local network announces, and Records given up: records of other instances no neighbour delivered within a week Join the network, Discovery
Forwarding FBB partner BBSes (callsign, protocol, intervals, time bands, message types), routing rules, and the White Pages directory that steers personal mail Packet: BBS and NET/ROM node
Trusted receiving stations trust a receiving station's own on-air hearings for Radio-verified finds and on-air callsign verification: Trust station by site call, remove one; FIRST_PARTY_SITES calls show read-only RF ingest and transports
Ingest boxes enroll a box, revoke one, and Trust this station's hearings for a lent receiver Set up an ingest box, Lend a receiver
Ingest & transports the data plane: the transports and the TAK/CoT feed RF ingest and transports

The TAK/CoT feed, GET /api/cot?bbox=, serves the live station list as Cursor-on-Target for ATAK, WinTAK and iTAK.

Stations for members

A member lists under Settings → My stations only stations of the callsigns their account holds and has verified: OE8APR-9 needs OE8APR, verified, on their account. That keeps anyone from listing another operator's station and hiding a living cache that follows it. A club station whose call the member does not hold is listed for them under Instance admin → Stations for members; it then shows under their My stations, and they manage it like their own. When the club call itself is on an account, as a second callsign verified there, that account lists the club's stations directly.

Correct a cache's place

Once a cache has a find, its owner moves it at most CACHE_MOVE_LIMIT_M (100 m by default) from where it was found, so past finds keep pointing to the place their finders visited (Moving a found cache). When the coordinates were wrong from the start, the sysop corrects them, with a sysop session or the operator secret:

curl -X POST https://<your-host>/api/admin/caches/<id>/place \
  -H "x-operator-secret: $OPERATOR_SECRET" -H "content-type: application/json" \
  -d '{"lat": 47.07355, "lon": 15.43785}'

Add "stageNo": <n> to correct one stage instead. The corrected place becomes where the owner's limit counts from. Finders who unlocked a corrected stage, or one after it, unlock those stages again.

Recurring tasks

Task Page
Check the installation, set up a shape, rotate a secret The deploy/aprscaching command
Find what a doctor result means and fix it Troubleshooting
Back up, restore, move to another shape Backups and moving
Bring the instance to a new release Updates
Sign someone in without a passkey One-time sign-in links
Send sign-in links and the digest by mail, or test that mail Send mail
Verify a member's callsign by hand Callsign verification
Answer a report, remove content, suspend an account Moderation
Give an abandoned cache a new owner Cache adoption
Correct a found cache's coordinates Correct a cache's place
Keep the register badge current Licence registers
Import summits, parks and castles as caches Import heritage places

Next