c810efd8e560a571446be5d6a7c36fd9e2598e42
Warm stone-and-gold UI, Cinzel typography, and Ted artifact-room copy replace the generic digital lock look.
Egyptian Escape Room — Digital Lock
A touch-friendly React lock for a homeschool Egyptian escape room. Eight color-coded numeric inputs; correct code plays a celebration and unlock video.
Quick start (local)
npm install
./scripts/setup-dev-media.sh
npm run dev
Open http://localhost:5173. For iPad testing on your LAN: npm run dev -- --host.
Test checklist
- Wrong code → jiggle + "Incorrect Code!"
- Correct code (
8,9,10,6,8,6,12,4in order) → confetti → unlock video
Media
The unlock clip is copied from Ted Escape Room 1-5.mp4 in the Egyptian Escape Room documents folder. Dev setup:
./scripts/setup-dev-media.sh
Config lives at public/media/config.json (see config.json.example).
Docker (local smoke test)
./scripts/setup-dev-media.sh
docker compose -f docker-compose.local.yml up --build
Deploy to homelab
See AGENTS.md for stack name, hostname, and appdata paths.
# On Unraid
./scripts/setup-prod-media.sh
# Build and push
./scripts/build-push.sh
Then deploy the egyptian-escape-room Portainer stack from the homelab compose snapshot.
URL: https://egyptian-escape-room.locklear.net (LAN only)
Description
Languages
TypeScript
46.7%
CSS
27.6%
Python
15.7%
Shell
7.1%
HTML
1.3%
Other
1.6%