-
Install dependencies
bun i
-
Add local app environment variables
# .env.development CLOUDFLARED_TOKEN=<YOUR_CLOUDFLARED_TOKEN> EXPO_PUBLIC_API_URL=<YOUR_URL>/api/v1 EXPO_PUBLIC_APP_URL=<YOUR_URL> EXPO_PUBLIC_INSTANT_APP_ID=<YOUR_ID> EXPO_PUBLIC_WEB_PUSH_VAPID_PUBLIC_KEY=<YOUR_PUBLIC_VAPID_KEY>
-
Add local Worker secrets for
wrangler dev# .dev.vars INSTANT_APP_ADMIN_TOKEN=<YOUR_TOKEN> INSTANT_APP_ID=<YOUR_ID> MAILTO_CONTACT=mailto:<YOUR_EMAIL> CLOUDFLARE_ACCOUNT_ID=<YOUR_ACCOUNT_ID> CLOUDFLARE_IMAGES_API_TOKEN=<YOUR_IMAGES_API_TOKEN> CLOUDFLARE_STREAM_API_TOKEN=<YOUR_STREAM_API_TOKEN> CLOUDFLARE_STREAM_WEBHOOK_SECRET=<YOUR_STREAM_WEBHOOK_SECRET> WEB_PUSH_VAPID_PRIVATE_KEY=<YOUR_PRIVATE_VAPID_JWK_JSON>
Generate a keypair with:
bun run generate:vapid
-
Generate types
bun types
-
Optionally, create iOS/Android builds
bun prebuild bun ios bun android
-
Start the dev server
bun web
Production secret bulk upload reads from .dev.vars.production.
INSTANT_APP_ADMIN_TOKEN=<YOUR_TOKEN>
INSTANT_APP_ID=<YOUR_ID>
MAILTO_CONTACT=mailto:<YOUR_EMAIL>
CLOUDFLARE_ACCOUNT_ID=<YOUR_ACCOUNT_ID>
CLOUDFLARE_IMAGES_API_TOKEN=<YOUR_IMAGES_API_TOKEN>
CLOUDFLARE_STREAM_API_TOKEN=<YOUR_STREAM_API_TOKEN>
CLOUDFLARE_STREAM_WEBHOOK_SECRET=<YOUR_STREAM_WEBHOOK_SECRET>
WEB_PUSH_VAPID_PRIVATE_KEY=<YOUR_PRIVATE_VAPID_JWK_JSON>Build and deploy with:
bun run build
bun run push