Troubleshooting
This guide is for quick unblock when something is failing in Smart Deploy.
Use this format:
- Find the symptom that matches your issue.
- Run the quick checks.
- Apply the fix.
If you are self-hosting, also see Self Hosting. For frequent deploy-time failures, see Error Catalog.
App does not start locally
Symptoms
npm run devfailsnpm run start-allexits immediately- Browser shows
localhost:3000unavailable
Quick checks
npm install
npm run dev
Verify required env vars in .env:
BETTER_AUTH_SECRETBETTER_AUTH_URLDATABASE_URLSUPABASE_URLSUPABASE_SERVICE_ROLE_KEYNEXT_PUBLIC_WS_URL
Fix
- Copy
.env.exampleto.envand fill required values. - If dependencies are out of sync, remove
node_modulesand reinstall.
Sign in succeeds but redirected to waiting list
Symptoms
- You can authenticate, then land on
/waiting-list
Cause
- Your email is not in
approved_users.
Fix
Run in Supabase SQL editor:
insert into public.approved_users (email, name)
values ('you@example.com', 'Your Name')
on conflict (email)
do update set name = excluded.name;
"GitHub not connected"
Symptoms
- Repo scanning or deploy actions fail with "GitHub not connected"
Cause
- User session has no linked GitHub OAuth account/token.
Fix
- Sign in with GitHub.
- If signed in with email/password or Google only, connect GitHub and retry.
Also see Better Auth.
Supabase connection errors
Symptoms
getaddrinfo ENOTFOUND- DB unreachable
- Migration failures
- "relation does not exist"
Quick checks
- Confirm
SUPABASE_URLandSUPABASE_SERVICE_ROLE_KEYare set. - Confirm
DATABASE_URLis valid.
Fix
- For IPv4-only networks, use Supabase Session Pooler URI for
DATABASE_URL. - Run auth migration and then schema migration in order:
npm run auth:migrate- execute
supabase/schema.sqlin Supabase SQL editor
Also see Supabase Setup.
WebSocket not connecting
Symptoms
- Status badge shows degraded
- Deploy logs do not stream
- Worker appears offline
Quick checks
- Local dev:
NEXT_PUBLIC_WS_URL=ws://localhost:4001 - Production HTTPS:
NEXT_PUBLIC_WS_URL=wss://<your-domain>/ws - Worker is running:
npm run ws(dev) or container is healthy (Docker)
Fix
- Set correct
NEXT_PUBLIC_WS_URLfor your environment. - Ensure reverse proxy passes
/wsto worker. - If split deployment, verify
WS_ALLOWED_ORIGINSon worker includes frontend origin.
AWS deploy fails with permission errors
Symptoms
UnauthorizedOperationec2:RunInstancesdeniedec2:CreateTagsdenied- CodeBuild role creation fails
Fix
- Ensure IAM policy includes required EC2, ALB, SSM, CodeBuild, ECR, IAM, STS permissions.
- If using ALB HTTPS, verify
EC2_ACM_CERTIFICATE_ARNis issued and in the sameAWS_REGION.
Also see AWS Setup.
GCP deploy fails
Symptoms
- Cloud Run deploy denied
- Cloud SQL API errors
gcloud: command not found
Fix
- Enable required APIs:
run.googleapis.comcloudbuild.googleapis.comartifactregistry.googleapis.comlogging.googleapis.comsqladmin.googleapis.com(if using Cloud SQL)
- Ensure service account has required roles.
- Install
gcloudCLI on the worker host/image.
Also see GCP Setup.
Custom domain does not resolve or TLS fails
Symptoms
- Visit URL does not load
- DNS record missing
- HTTPS certificate issues
Quick checks
NEXT_PUBLIC_DEPLOYMENT_DOMAINis set.- If using Vercel DNS automation,
VERCEL_TOKENandVERCEL_DOMAINare set. - For AWS HTTPS,
EC2_ACM_CERTIFICATE_ARNis valid and issued.
Fix
- Create or correct CNAME records manually if not using Vercel automation.
- Wait for DNS propagation.
- Re-run deployment after DNS and certificate are valid.
Also see Custom Domains.
Self-hosted instance runs out of memory
Symptoms
- Docker build killed
- Next.js build fails unexpectedly on small EC2 instances
Fix
- On low-memory hosts, add swap:
sudo ./scripts/setup-swap.sh
- Set Node heap in
.env:
NODE_MAX_OLD_SPACE_SIZE=2048
Also see Self Hosting.
Nginx 502 on self-hosted setup
Symptoms
- Nginx responds but upstream app is unavailable
Quick checks
docker compose ps
docker compose logs
Fix
- Wait for containers to finish booting.
- Verify
.envis present and complete. - Restart services after fixing config:
docker compose restart
Still blocked?
Collect this before asking for help:
- Exact error text.
- Last action performed.
- Relevant environment (
local,self-hosted EC2,split deploy). - Output of:
npm run dev
npm run ws
or for Docker:
docker compose ps
docker compose logs