Background Jobs (Inngest)
VibeReady uses Inngest for event-driven background jobs and scheduled tasks. Inngest handles webhook processing (including Stripe webhooks), email sending, and any other asynchronous work.
Free tier: 10,000 function runs per month.
Local Development
Inngest works locally without any API keys. The local dev server auto-discovers functions and processes events entirely on your machine.
# Start the Inngest dev server (dashboard at http://localhost:8288)
make inngest-dev
# Stop when done
make inngest-stop
Functions are auto-discovered from the codebase. No configuration is needed for local development.
Production Setup
-
Get your keys from app.inngest.com, then navigate to Settings, then Keys.
- Copy the Event Key (starts with
inngest_event_key_prod_). - Copy the Signing Key (starts with
signkey-prod-).
- Copy the Event Key (starts with
-
Add to your local environment:
# .env.local
INNGEST_EVENT_KEY="inngest_event_key_prod_..."
INNGEST_SIGNING_KEY="signkey-prod-..."
-
Add to CI/CD: Add the Event Key and Signing Key to your CI/CD pipeline secrets (e.g., GitHub Secrets) so they are available during builds and deployments.
-
Add to Terraform (GCP Deployment): Add both keys to your Terraform configuration file, then apply the changes:
terraform apply
This creates secrets in GCP Secret Manager that Cloud Run accesses at runtime.
-
Register your app with Inngest Cloud: After your first deployment, you need to tell Inngest where to find your functions.
- Go to app.inngest.com, then Apps, then Sync New App.
- Enter your Cloud Run URL followed by
/api/inngest(e.g.,https://your-cloud-run-url/api/inngest).
Without this step, events are sent but functions will not execute in production.
Testing
Local
- Start the dev server with
make inngest-dev. - Trigger an event (e.g., create a new user or complete a Stripe checkout).
- Check the Inngest dashboard at http://localhost:8288 to verify the function executed.
Production
- Trigger an event in your production environment.
- Check the Inngest dashboard at app.inngest.com under Functions to verify execution.
Troubleshooting
| Issue | Fix |
|---|---|
| Functions not showing in dashboard | Restart with make inngest-stop && make inngest-dev. |
| Events not triggering functions | Check that the event name matches exactly (names are case-sensitive). |
| Production functions not running | Register your app URL in Inngest Cloud (see step 5 above). |
| Production errors | Verify keys in your CI/CD secrets and restart Cloud Run. |
Related Docs
- Billing (Stripe) — Stripe webhooks are processed through Inngest
- Email (Resend) — emails are sent via Inngest background jobs
- GCP Deployment — deploy with Inngest keys in Secret Manager
Ready to build with VibeReady?
Get the full AI-native SaaS foundation with production infrastructure, AI development framework, and all integrations.
Get VibeReady — From $149