Run MentraOS Cloud locally for development and testing
.env
file in the cloud
directory.
.env
file with all API keys configured.For External Contributors: You’ll need to set up accounts with all third-party services listed below to run the cloud successfully.PORT=80
- Must be 80 for Docker port mapping to workNODE_ENV
, CLOUD_VERSION
MONGO_URL
- MongoDB connection stringSUPABASE_*
- All Supabase variables for authenticationAUGMENTOS_AUTH_JWT_SECRET
- JWT signing secretTPA_AUTH_JWT_PRIVATE_KEY
- RSA key for app authenticationAZURE_SPEECH_*
or SONIOX_API_KEY
RESEND_API_KEY
CLOUDFLARE_*
SERPAPI_API_KEY
ELEVENLABS_*
.env
from Slack.0.0.0.0/0
to the IP whitelist (for development only)MONGO_URL
SUPABASE_URL
anon
public key → SUPABASE_ANON_KEY
service_role
secret key → SUPABASE_SERVICE_KEY
and SUPABASE_SERVICE_ROLE_KEY
SUPABASE_JWT_SECRET
AZURE_SPEECH_KEY
and AZURE_SPEECH_REGION
OPENAI_API_KEY
ANTHROPIC_API_KEY
PORT=80
in your .env
file is critical. Docker expects the service to run on port 80 internally, which it then maps to 8002 externally. If you set a different PORT in .env, the service won’t be accessible.docker-compose.dev.yml
file:
/app
bun install && cd packages/sdk && bun run build && cd ../cloud && bun install && bun run dev
https://abc123.ngrok.app
)
:443
suffix:
:443
is required even though it’s the default HTTPS port.
packages/cloud/src
automatically restartcloud/store/web/src/api/index.ts
):
cloud/developer-portal/src/services/api.service.ts
):
.env
file.
bun run dev
(cloud server)ngrok http 8002
(tunnel)bun run logs:cloud -- -f
(logs)