> ## Documentation Index
> Fetch the complete documentation index at: https://docs.launchtoday.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Deployment

> Deploy your app to production - backend, mobile, and beyond

## Overview

Launch is designed for easy deployment to production. This section covers
deploying both your backend API and mobile app.

Most of the mobile workflow is handled by Expo (EAS Build + EAS Submit), so
deployment can be completed in a single afternoon once your backend is live.

<CardGroup cols={2}>
  <Card title="Backend to Railway" icon="train" href="/backend/railway-deployment">
    Deploy your API to Railway in minutes.
  </Card>

  <Card title="Mobile with EAS" icon="mobile" href="/deployment/mobile-eas">
    Build and distribute with Expo Application Services.
  </Card>
</CardGroup>

<Note>
  If you need Docker or advanced env management, use the official Railway docs
  or your platform’s deployment guides.
</Note>

## Prerequisites

* A production database
* A hosting provider for the API
* Apple/Google developer accounts (if submitting to stores)

## Steps

1. Deploy the API (Railway or your provider)
2. Set production env vars (API + mobile)
3. Build mobile binaries with EAS
4. Submit to the stores

## Deployment Checklist

Before deploying to production, ensure you've completed:

<Steps>
  <Step title="Require the integrations you use">
    In `apps/api/src/config/env.ts`, update any integration env vars you rely on
    (Stripe, Apple, Google, Twilio, push, AWS, etc.) from optional to required
    so the API fails fast if a value is missing.
  </Step>

  <Step title="Environment Variables">
    All production environment variables configured
  </Step>

  <Step title="Database Migration">
    Production database created and migrated
  </Step>

  <Step title="Security Review">
    Completed [security checklist](/security/checklist)
  </Step>

  <Step title="Testing">All critical flows tested on staging</Step>
</Steps>

## Quick Links

| Platform           | Time   | Difficulty |
| ------------------ | ------ | ---------- |
| Railway (Backend)  | 10 min | Easy       |
| EAS Build (Mobile) | 15 min | Easy       |
| EAS Submit         | 20 min | Medium     |

<Note>
  **First time deploying?** Start with
  [Backend to Railway](/backend/railway-deployment) - it's the fastest way to
  get your API live.
</Note>

## Troubleshooting

* **Env missing at runtime**: verify variables in your host (Railway/EAS)
* **Mobile can’t reach API**: confirm `EXPO_PUBLIC_API_URL`

## Next Steps

* [Mobile Deployment with EAS](/deployment/mobile-eas)
* [Security Checklist](/security/checklist)
