Skip to content
GitHub

Cloud Accounts Setup

Orion Kit uses cloud services for database, payments, and monitoring. Authentication is handled by our custom JWT system (no external dependencies!).

ServiceWhat It DoesUsed WhereFree TierSetup Time
NeonPostgres databaseAPI + Database schema0.5GB2 min
StripeSubscription paymentsBilling pageNo fees5 min
ResendTransactional emailsWelcome emails3k emails2 min
AxiomStructured loggingAPI error tracking500MB/month2 min
PostHogProduct analyticsUser behavior1M events/mo2 min
VercelHostingProduction deployUnlimited1 min

Orion Kit uses a custom JWT-based authentication system - no external auth provider needed!

Add to your API app (.env.local):

AUTH_JWT_SECRET=your-super-secret-key-min-32-characters-long
NEXT_PUBLIC_APP_URL=http://localhost:3001
NEXT_PUBLIC_API_URL=http://localhost:3002
DATABASE_URL=postgresql://...

That’s it! No external accounts needed.


Serverless Postgres database with autoscaling and generous free tier.

  1. Create Account: neon.tech → Sign up with GitHub
  2. Create Project: Click “Create Project” → Copy Pooled Connection URL
  3. Add to .env files:
    # packages/database/.env
    # apps/api/.env.local
    # apps/studio/.env.local
    DATABASE_URL=postgresql://user:password@host.neon.tech/neondb?sslmode=require
  4. Initialize: pnpm db:push
  5. Verify: pnpm db:studio → Opens https://local.drizzle.studio

Handles subscription payments, billing, and customer management.

  1. Create Account: stripe.com → Sign up → Enable Test Mode

  2. Create Products: Products → Add Product → Pro ($19/month) + Enterprise ($49/month) → Copy Price IDs

  3. Get API Keys: Developers → API Keys → Copy publishable + secret keys

  4. Add to .env files:

    # apps/api/.env.local
    STRIPE_SECRET_KEY=sk_test_...
    STRIPE_PRICE_ID_PRO=price_...
    STRIPE_PRICE_ID_ENTERPRISE=price_...
    
    # apps/app/.env.local
    NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_...
  5. Setup Webhooks: stripe listen --forward-to localhost:3002/webhooks/stripe → Copy webhook secret

  6. Test: Visit /dashboard/billing → Use test card 4242 4242 4242 4242


Transactional emails with beautiful React Email templates.

  1. Create Account: resend.com → Sign up
  2. Get API Key: Dashboard → API Keys → Create API Key → Copy key
  3. Add to .env:
    # apps/api/.env.local
    RESEND_API_KEY=re_...
    FROM_EMAIL=onboarding@resend.dev
  4. Test: Register new user → Check email for welcome message

Serverless logging platform for structured logs, errors, and performance metrics.

  1. Create Account: axiom.co → Sign up
  2. Create Dataset: Dashboard → Datasets → Create Dataset → Name: orion-logs
  3. Get API Token: Settings → API Tokens → Create Token → Ingest Only → Copy token
  4. Add to .env:
    # apps/api/.env.local
    AXIOM_TOKEN=xaat-...
    AXIOM_DATASET=orion-logs
  5. Test: Make API request → Visit axiom.co → Check logs

Open-source product analytics platform for tracking user events and page views.

  1. Create Account: posthog.com → Sign up
  2. Get API Keys: Dashboard → Project Settings → Copy API Key + Host URL
  3. Add to .env files:
    # apps/web/.env.local + apps/app/.env.local
    NEXT_PUBLIC_POSTHOG_KEY=phc_...
    NEXT_PUBLIC_POSTHOG_HOST=https://us.i.posthog.com
  4. Test: Visit app → Navigate pages → Check posthog.com → Web Analytics

Background jobs and scheduled tasks without managing infrastructure.

  1. Create Account: trigger.dev → Sign up → Create project
  2. Get API Key: Project dashboard → Environments → Copy Development API Key
  3. Add to .env:
    # packages/jobs/.env
    TRIGGER_API_KEY=tr_dev_...
    TRIGGER_API_URL=https://api.trigger.dev
  4. Test: cd packages/jobs && pnpm trigger:dev → Check dashboard

Deployment platform for Next.js apps with serverless hosting and automatic deployments.

  • Three apps deployed: web (marketing), app (dashboard), api (backend)
  • Automatic deployments: Push to main branch = production deploy
  • Environment variables: Set in Vercel dashboard for each app

See the Deployment Guide for complete instructions.


Total setup time: ~15 minutes for all services

Next steps:

Troubleshooting? Check service docs: Neon · Stripe · Resend