Appearance
Atlas Configuration
Atlas uses Bun and SST v3 for deployment. Environment variables are validated at startup via Zod in packages/api/src/env.ts.
Environment Variables
Core
| Variable | Description |
|---|---|
DATABASE_URL | MongoDB connection URI |
BETTER_AUTH_SECRET | Session encryption secret |
REDIS_HOST / REDIS_PORT / REDIS_PASSWORD | Redis connection (for BullMQ) |
NODE_ENV | development | production |
Property Data (BatchData)
One API key per dataset — each maps to a separate BatchData product:
| Variable | Dataset |
|---|---|
BATCHDATA_BASE_URL | Base URL for all BatchData requests |
BATCHDATA_BASIC_API_KEY | Basic property info |
BATCHDATA_BATCHRANK_API_KEY | BatchRank scores |
BATCHDATA_DEED_API_KEY | Deed/title records |
BATCHDATA_DEMOGRAPHIC_API_KEY | Demographic data |
BATCHDATA_FORECLOSURE_API_KEY | Foreclosure status |
BATCHDATA_LISTING_API_KEY | MLS listing data |
BATCHDATA_MORTGAGE_LIENS_API_KEY | Mortgage and lien data |
BATCHDATA_OWNER_API_KEY | Property owner info |
BATCHDATA_PERMIT_API_KEY | Building permits |
BATCHDATA_QUICKLIST_API_KEY | Quick property lists |
BATCHDATA_SEARCH_API_KEY | Property search |
BATCHDATA_VALUATION_API_KEY | AVM / valuation |
External Services
| Variable | Purpose |
|---|---|
CHARGEBEE_API_KEY | Chargebee billing |
CHARGEBEE_SITE | Chargebee site name |
RESEND_API_KEY | Transactional email |
EMAIL_ADDRESS / EMAIL_FROM | From address for emails |
GOOGLE_MAPS_API_KEY | Property images / street view |
OPENAI_API_KEY | OpenAI |
GEMINI_API_KEY | Google Gemini |
REPLIERS_API_KEY | Repliers property images |
S3_BUCKET | AWS S3 bucket |
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION | AWS credentials |
Enrichment Service (shared with Cora)
| Variable | Description |
|---|---|
ENRICHMENT_URL | Enrichment service base URL |
ENRICHMENT_ADMIN_EMAIL | Enrichment service admin auth |
ENRICHMENT_ADMIN_PASSWORD | Enrichment service admin auth |
CRM & Marketing
| Variable | Purpose |
|---|---|
CONVERT_KIT_API_KEY | Waitlist / newsletter |
CONVERT_KIT_FORM_ID | ConvertKit form to subscribe to |
HUBSPOT_PRIVATE_APP_TOKEN | HubSpot CRM integration |
Frontend (public env vars in apps/web)
| Variable | Description |
|---|---|
NEXT_PUBLIC_API_URL | API base URL (default: http://localhost:3000/api) |
NEXT_PUBLIC_API_TIMEOUT | Request timeout in ms (default: 10000) |
NEXT_PUBLIC_ENV | Environment name |
NEXT_PUBLIC_SCOUT_REQUEST_EMAIL | Email shown on scout request form |
Local Development
bash
# 1. Install dependencies
bun install
# 2. Copy env file and fill in values
cp .env.example .env
# 3. Generate Prisma client
bun run db:generate
# 4. Push schema to MongoDB
bun run db:push
# 5. Start all services
bun run devThis starts:
- Next.js frontend + API: http:// localhost:3015
- Worker: http:// localhost:3001
- Bull Board: http:// localhost:3001/api/admin/bullboard
Deployment
Atlas deploys via SST v3 to AWS (ECS + CloudFront CDN for Next.js):
bash
bun run sst:deploy --stage productionSecrets are stored in AWS Secrets Manager and injected at ECS task startup.