Backend (Fastify + TS): FluentForms webhook -> NocoDB row + QR + MailerSend email; PIN auth; scan/lookup/redeem with per-code serialization; reusable QR codes with count-based check-in; admin search. App (Expo, one codebase): Android APK + iPhone PWA. Login, camera scanner (native + web barcode-detector split), green/red overlay with sound + haptics, admin lookup/redeem. Session token persisted per device. Ops: multi-stage Dockerfile serving API + PWA same-origin, compose bound to 127.0.0.1; Forgejo Actions runner + tag-triggered signed APK build for Obtainium. Docs in README.md and INSTALL.md. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
7 lines
395 B
Text
7 lines
395 B
Text
# Copy to runner/.env (git-ignored). Get a fresh registration token from
|
|
# git.mowden.top -> repo/org/site Settings -> Actions -> Runners -> Create.
|
|
# The token is consumed at first registration; after that the runner
|
|
# authenticates from /data/.runner and this value is no longer used.
|
|
REGISTRATION_TOKEN=
|
|
RUNNER_NAME=camptickets-runner
|
|
DOCKER_GID=988 # host: stat -c %g /var/run/docker.sock
|