Airlock
Self-hosted Expo OTA update server. Ships as a Hono library (createAirlock) you mount on your existing API.
Reference Files
references/cli.md— Full CLI reference: all commands, flags, and configreferences/integration.md— How to mount airlock on a Hono server and configure an Expo appreferences/alchemy.md— Deploying with Alchemy (recommended): provisioning KV + R2 + Worker, generating secure tokens, existing vs new resources
Quick Reference
- Package:
@dawsson/airlock - CLI entry:
airlock <command> - Config file:
.airlockrc.json(or env varsAIRLOCK_SERVER,AIRLOCK_TOKEN) - Public routes:
GET /manifest,GET /assets/:hash - Admin routes: under
/admin/*, all requireAuthorization: Bearer <token> - Built-in adapters:
CloudflareAdapter(KV + R2),MemoryAdapter(tests) - Channels scoped by:
{channel}/{runtimeVersion}/{platform} - Default channel:
"default" - Rollout: deterministic SHA-256 of
deviceId + updateId, mod 100