Skip to content

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

VariableDescription
DATABASE_URLMongoDB connection URI
BETTER_AUTH_SECRETSession encryption secret
REDIS_HOST / REDIS_PORT / REDIS_PASSWORDRedis connection (for BullMQ)
NODE_ENVdevelopment | production

Property Data (BatchData)

One API key per dataset — each maps to a separate BatchData product:

VariableDataset
BATCHDATA_BASE_URLBase URL for all BatchData requests
BATCHDATA_BASIC_API_KEYBasic property info
BATCHDATA_BATCHRANK_API_KEYBatchRank scores
BATCHDATA_DEED_API_KEYDeed/title records
BATCHDATA_DEMOGRAPHIC_API_KEYDemographic data
BATCHDATA_FORECLOSURE_API_KEYForeclosure status
BATCHDATA_LISTING_API_KEYMLS listing data
BATCHDATA_MORTGAGE_LIENS_API_KEYMortgage and lien data
BATCHDATA_OWNER_API_KEYProperty owner info
BATCHDATA_PERMIT_API_KEYBuilding permits
BATCHDATA_QUICKLIST_API_KEYQuick property lists
BATCHDATA_SEARCH_API_KEYProperty search
BATCHDATA_VALUATION_API_KEYAVM / valuation

External Services

VariablePurpose
CHARGEBEE_API_KEYChargebee billing
CHARGEBEE_SITEChargebee site name
RESEND_API_KEYTransactional email
EMAIL_ADDRESS / EMAIL_FROMFrom address for emails
GOOGLE_MAPS_API_KEYProperty images / street view
OPENAI_API_KEYOpenAI
GEMINI_API_KEYGoogle Gemini
REPLIERS_API_KEYRepliers property images
S3_BUCKETAWS S3 bucket
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGIONAWS credentials

Enrichment Service (shared with Cora)

VariableDescription
ENRICHMENT_URLEnrichment service base URL
ENRICHMENT_ADMIN_EMAILEnrichment service admin auth
ENRICHMENT_ADMIN_PASSWORDEnrichment service admin auth

CRM & Marketing

VariablePurpose
CONVERT_KIT_API_KEYWaitlist / newsletter
CONVERT_KIT_FORM_IDConvertKit form to subscribe to
HUBSPOT_PRIVATE_APP_TOKENHubSpot CRM integration

Frontend (public env vars in apps/web)

VariableDescription
NEXT_PUBLIC_API_URLAPI base URL (default: http://localhost:3000/api)
NEXT_PUBLIC_API_TIMEOUTRequest timeout in ms (default: 10000)
NEXT_PUBLIC_ENVEnvironment name
NEXT_PUBLIC_SCOUT_REQUEST_EMAILEmail 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 dev

This 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 production

Secrets are stored in AWS Secrets Manager and injected at ECS task startup.