Initial Camp Scan ticketing system
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>
This commit is contained in:
commit
3397e3e3ec
60 changed files with 14703 additions and 0 deletions
34
runner/docker-compose.yml
Normal file
34
runner/docker-compose.yml
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
services:
|
||||
runner:
|
||||
image: code.forgejo.org/forgejo/runner:6.3.1
|
||||
container_name: camptickets-runner
|
||||
restart: unless-stopped
|
||||
working_dir: /data
|
||||
# Grant access to the host Docker socket group so the (uid 1000) runner can
|
||||
# talk to the daemon. Set DOCKER_GID in runner/.env to your host's
|
||||
# `stat -c %g /var/run/docker.sock` if it differs.
|
||||
group_add:
|
||||
- "${DOCKER_GID:-988}"
|
||||
volumes:
|
||||
- ./data:/data
|
||||
# Runner spawns job containers via the host Docker daemon.
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
env_file: .env
|
||||
environment:
|
||||
RUNNER_NAME: ${RUNNER_NAME:-camptickets-runner}
|
||||
# Register on first boot (when no .runner config exists yet), then run the
|
||||
# daemon. The `docker` label maps to the node:22-bookworm job image the
|
||||
# build-apk workflow expects (it installs the Android SDK itself).
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- |
|
||||
if [ ! -f /data/.runner ]; then
|
||||
echo "Registering runner with git.mowden.top ..."
|
||||
forgejo-runner register --no-interactive \
|
||||
--instance https://git.mowden.top \
|
||||
--token "${REGISTRATION_TOKEN}" \
|
||||
--name "${RUNNER_NAME:-camptickets-runner}" \
|
||||
--labels "docker:docker://node:22-bookworm"
|
||||
fi
|
||||
exec forgejo-runner daemon
|
||||
Loading…
Add table
Add a link
Reference in a new issue