You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: DEPLOYMENT.md
+35-27Lines changed: 35 additions & 27 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,59 +40,67 @@ The direct Caddy route is required for `subscribeLabels`, because it is a WebSoc
40
40
41
41
## Environment variables
42
42
43
-
### Required for the running service
43
+
### Required for the running app service
44
44
45
-
-`DID` — labeler DID
46
-
-`SIGNING_KEY` — labeler private key used by `@skyware/labeler`
47
-
48
-
These are validated at startup by `src/lib/config.ts`.
45
+
-`DID` — labeler account DID
46
+
-`SIGNING_KEY` — private key material used by `@skyware/labeler` to sign labels
47
+
-`TAP_URL` — URL of the separate Tap service; there is no localhost fallback
48
+
-`NEXT_PUBLIC_LABELER_ENDPOINT` — public HTTPS base URL for the dashboard and labeler XRPC endpoint
49
49
50
50
### Required for first-time labeler setup / label sync
51
51
52
-
-`BSKY_IDENTIFIER`
53
-
-`BSKY_PASSWORD`
54
-
-`NEXT_PUBLIC_LABELER_ENDPOINT`
55
-
56
-
Use these with `npm run setup` and `npm run set-labels` when registering the labeler account and label definitions.
57
-
58
-
### Required for the app service to reach Tap
52
+
-`LABELER_IDENTIFIER` — labeler account identifier, for example `orglabeler.certified.one`
53
+
-`LABELER_PASSWORD` — labeler account password or app password
54
+
-`PDS_URL` — optional override for the labeler account PDS; setup normally resolves this from the DID document
59
55
60
-
-`TAP_URL` — required URL of the separate Tap service
56
+
Use these with `npm run setup` and `npm run set-labels` when registering the labeler account and label definitions. The labeler account identifier is the signing source; `NEXT_PUBLIC_LABELER_ENDPOINT` is the hosted app endpoint and may be a different domain.
61
57
62
58
### SQLite paths
63
59
64
60
Set these to persistent storage in hosted environments:
The Tap service manages its own persistent SQLite file and any Tap-specific settings outside this repo.
72
68
73
-
If your Tap deployment uses admin auth, configure `TAP_ADMIN_PASSWORD` on the Tap service itself.
69
+
If your Tap deployment uses admin auth, configure `TAP_ADMIN_PASSWORD` on the Tap service itself and set the same `TAP_ADMIN_PASSWORD` on the app service so health checks and the Tap WebSocket can authenticate.
-`PDS_URL` — overrides PDS discovery from the DID document
73
+
-`HF_TOKEN` — enables Hugging Face classification; if unset, HF scoring stays disabled
74
+
-`HYPERSCAN_RECORD_URL_BASE` — base URL used when the dashboard links to source AT Protocol records; default `https://hyperscan.dev/data`
79
75
-`TEST_PDS_HOSTS` — comma-separated PDS hosts whose actors should always be labeled `likely-test`; URL enrichment waits for actor PDS resolution and skips matching test PDS hosts
80
-
-`PORT` — public Caddy HTTP port (hosted platforms usually set this; default fallback `8080`)
-`URL_CHECK_MAX_RETRY_MS` — maximum retry delay for temporary URL check failures; default `3600000`
92
+
-`URL_CHECK_HARD_FAILURE_ATTEMPTS` — number of hard failures required before URL scoring removes resolve points; default `2`
93
+
-`URL_CHECK_MAX_URLS_PER_DID` — maximum profile/organization URLs cached and checked per DID; default `5`
86
94
87
95
## Persistence requirements
88
96
89
97
This fork uses two SQLite databases in the app service and one in the Tap service:
90
98
91
-
-`activity-log.db` — dashboard data and scoring history
92
-
-`labels.db` — AT Protocol label records
93
-
-`tap.db`— Tap cursor / replay state (Tap service)
99
+
-`ACTIVITY_DB_PATH` — dashboard data and scoring history
100
+
-`LABELS_DB_PATH` — AT Protocol label records
101
+
-Tap service database — Tap cursor / replay state
94
102
95
-
The app service should mount a volume for `activity-log.db` and `labels.db`. The Tap service should mount its own volume for `tap.db`. If the files are not persisted, redeploys will lose dashboard history and Tap will replay from an old or empty cursor.
103
+
The app service should mount a volume for the configured `ACTIVITY_DB_PATH` and `LABELS_DB_PATH`. The Tap service should mount its own volume for its database. If the files are not persisted, redeploys will lose dashboard history and Tap will replay from old or empty state.
96
104
97
105
Also persist the `-wal` and `-shm` companions that SQLite may create beside each DB file.
0 commit comments