Your first hour¶
This page takes a sysop from "the instance answers" to a working, verified, backed-up instance, in order. It starts where every install page ends, whatever the shape; at the end your call is confirmed, the instance is ready to be public, and your RF site is attested.
The same checklist runs live in the app under Instance admin → Setup. Blocking items mean sign-in or ingest is broken, Recommended ones are expected of a public instance, and Optional ones stay collapsed.
Before you start¶
- An installed instance that answers
/health: Self-host with Docker, on Oracle Cloud, without Docker, Desktop or Pocket. -
Where your settings live, and how a change takes effect:
Shape Settings Apply a change Self-host with Docker deploy/.envdocker compose up -d, fromdeploy/Self-host without Docker /opt/aprscaching/deploy/.envsudo systemctl restart aprscaching-gateway aprscaching-ingestDesktop the environment you start it with quit the app and start it again Pocket ~/.aprscaching/.envbash ~/aprscaching/deploy/pocket/restart.sh
The checklist¶
-
Check these values. The installer for your shape wrote them; confirm each before anyone signs in:
ADMIN_CALLSIGNSholds your call. It is the operator list, and it is set only here, never at runtime.APP_URLis the address people open.INSTANCEandRP_IDfollow its host. Passkeys bind to that host, so a later change locks every member's passkey out.INGEST_SECRETandOPERATOR_SECRETare set and differ, andSESSION_SECRETis set or left for the gateway to generate (Secrets and credentials).FED_PRIVATE_KEYis set, the key the instance signs its feeds with.RF_SITE_CALLnames the callsign-SSID of an RF receiver you operate, if you have one yet; the gateway trusts it under Instance admin → Trusted receiving stations (orFIRST_PARTY_SITES).
Check:
deploy/aprscaching doctorreports no failure in itsconfigandgatewaygroups. -
Sign in as your call. Your call is in
ADMIN_CALLSIGNS, so it opens only through your one-time sign-in link (or a proof of control), never by an ordinary sign-up: nobody can register it before you. Mint the link on the gateway host and open it, as in Off-grid sign-in, on any instance. Then add a passkey under Settings → Account (on https orlocalhost), so you sign in without a link next time. -
Confirm your call. Run the operator script for your shape:
Shape Command Self-host with Docker, from deploy/docker compose exec gateway node tools/admin/verify-call.mjs OE8APRSelf-host without Docker sudo -u aprscaching bash -c 'cd /opt/aprscaching && set -a && . deploy/.env && PORT=8080 node tools/admin/verify-call.mjs OE8APR'Pocket cd ~/aprscaching && set -a && . ~/.aprscaching/.env && set +a && node tools/admin/verify-call.mjs OE8APRDesktop, from a checkout BASE=<the gateway's URL> OPERATOR_SECRET=<the secret> node tools/admin/verify-call.mjs OE8APRIt uses
OPERATOR_SECRETand accepts only a call inADMIN_CALLSIGNS. The Desktop app keeps its operator secret inoperator.secretin its data directory. Settings → Account shows the command too, and the Admin entry appears once it has run (CLI). -
Clear the Blocking items under Instance admin → Setup. Ingest feeding stays blocking until packets arrive: check that
INGEST_URLreaches the gateway andINGEST_SECRETmatches, or connect a radio (quick starts). -
Make it public-ready, the Recommended items:
- your name, postal address and contact email for
/imprintand/privacy, under Instance admin → Instance settings → Imprint & contact (Instance settings), orOPERATOR_NAME,OPERATOR_ADDRESS,OPERATOR_EMAILin the environment. The contact email is also the contact in/.well-known/security.txtunless Security contacts names another; - mail, so members without a passkey can sign in and recover:
EMAIL_FROMand an SMTP server or a Resend key (Send mail); - a scheduled backup (Backups);
SOURCE_REPOpointing at your published fork if you changed the code (AGPL §13).
A public instance's duties explains why each one is expected.
Check: the Operator imprint item turns green and
/imprintshows your details. Rundeploy/aprscaching backuponce;doctorthen passesresources.backup. Withdeploy/backup.sh, look forbackup: wrote …orbackup: uploaded …. - your name, postal address and contact email for
-
Trust your RF site. The installer names it on both sides. With a second ingest box, trust its
RF_SITE_CALLunder Instance admin → Trusted receiving stations, or switch on Trust this station's hearings for an enrolled box (or add the call toFIRST_PARTY_SITES). Only frames a trusted site's own receiver heard directly reach Tier A (why).Check: your site call shows under Instance admin → Trusted receiving stations, and the Trusted receiving stations item under Instance admin → Setup counts it.
-
Join the network. Exchange URLs and key fingerprints with the sysops you know, and add each other under Instance admin → Federation → Add peer: see Join the network.
Check: the Federation peers item under Instance admin → Setup counts your enabled peers.
-
44Net, only with a
44netendpoint inFED_ENDPOINTS: run Check what peers find in DNS under Instance admin → Setup → 44Net. Instance admin → Federation → Publish your callsign identity shows the records to add (44Net name and identity explains each result).
After the checklist¶
Other members verify their calls themselves (You → Verify callsign): over the air once your RF site hears
them, by ampr.org DNS, or with a LoTW certificate. A sysop can verify an out-of-range member by hand under
Instance admin → Callsigns (Callsign verification).
Once members join, reports about caches, logs, photos, messages and profiles reach you under Instance admin →
Reports, and by email to OPERATOR_EMAIL when mail is configured
(Moderation).
Optional extras: web push (VAPID_*), and under Instance admin → Instance settings activity spots, donation
links, the game rules and the retention periods. The Configuration reference
lists every key, and which ones are instance settings.
Secrets and the operator list are environment-only, and the Setup page never writes them: a compromised session must not be able to rewrite them. The server reports only whether each is set and healthy, never its value. Peers, trust and forwarding partners are managed on the sysop surfaces.
Next¶
- Connect a radio: quick starts: get packets flowing into the instance.
- Join the network: federate with other instances.
- Backups: schedule the backup step 5 asks for, and check that it restores.