Common issues and solutions for Lens Platform deployments.
- Service Startup Issues
- Database Issues
- OAuth Issues
- Branding Issues
- Script Execution Issues
- Common Issues
Symptoms: Backend service exits or fails to start.
Solutions:
-
Verify migrations ran:
mongosh "mongodb://localhost:27017/backend-db" --eval "db['site-config'].countDocuments()" # Expected: 1
If missing, run migrations (see
docs/migration.md) -
Check backend logs for specific error messages:
docker-compose logs backend
Symptoms: Frontend service exits or shows blank page.
Solutions:
-
Verify API URL:
- Check
VITE_APP_API_URLin.env - Ensure it matches backend URL (including port)
- Check
-
Try rebuilding frontend:
docker-compose build --no-cache frontend docker-compose restart frontend
-
Check frontend logs and browser console (F12) for specific errors
Symptoms: Browser console shows WebSocket connection to 'ws://localhost:3030/socket.io/?EIO=4&transport=websocket' failed, login page hangs.
Solutions:
-
Verify backend is running:
docker-compose ps backend curl http://localhost:3030/
-
Check
VITE_APP_API_URLconfiguration:- For Docker Compose on remote server: Use server IP/hostname, not
localhost - Example:
VITE_APP_API_URL=http://192.168.1.100:3030/(nothttp://localhost:3030/) - Ensure it matches backend URL exactly (including trailing slash)
- For Docker Compose on remote server: Use server IP/hostname, not
-
Rebuild frontend after changing environment variables:
docker-compose build frontend docker-compose restart frontend
-
Check browser console (F12) for specific WebSocket errors
Symptoms: Model processing fails or times out.
Solutions:
-
Verify FC-Worker is running:
# Docker Compose (test from backend container which has network access) docker-compose exec backend curl http://127.0.0.1:8080/2015-03-31/functions/function/invocations \ -X POST -H "Content-Type: application/json" \ -d '{"command":"health_check"}' # Expected: {"Status":"OK"} # Manual installation (if FC-Worker is running separately on port 9000) curl http://127.0.0.1:9000/2015-03-31/functions/function/invocations \ -X POST -H "Content-Type: application/json" \ -d '{"command":"health_check"}' # Expected: {"Status":"OK"}
-
Check FC-Worker URL:
- Verify
FC_WORKER_URLin backend.env - Format:
http://0.0.0.0:8080/2015-03-31/functions/function/invocations
- Verify
-
Check FC-Worker logs:
# Docker Compose docker-compose logs fc-worker-api docker-compose logs fc-worker-celery # Manual installation (if FC-Worker is running separately) cd FC-Worker && docker-compose logs
-
Rebuild FC-Worker:
# Docker Compose docker-compose build fc-worker-api fc-worker-celery docker-compose restart fc-worker-api fc-worker-celery # Manual installation (if FC-Worker is running separately) cd FC-Worker && docker-compose build && docker-compose up -d
Symptoms: Backend can't connect to MongoDB, migrations fail with getaddrinfo ENOTFOUND mongodb.
Solutions:
-
Verify MongoDB is running:
# Docker Compose docker-compose ps mongodb docker-compose logs mongodb # Manual installation sudo systemctl status mongod
-
Check
DB_URLenvironment variable:- Docker Compose:
DB_URLis already configured correctly indocker-compose.ymlasmongodb://mongodb:27017/backend-db. Only check this if you've modified the docker-compose configuration. - Manual installation: Verify
DB_URLin.envpoints to correct host/port (e.g.,mongodb://localhost:27017/backend-db)
- Docker Compose:
Symptoms: npm run migration command fails.
Solutions:
-
Verify migrations run in order (see
docs/migration.md) -
Check migration logs for specific error messages
Symptoms: OAuth button appears but login fails or redirects to error page.
Solutions:
-
Check redirect URI:
- Copy redirect URI from admin panel → OAuth Configuration (displayed below credentials)
- Verify it matches exactly in provider settings:
- Google: Google Cloud Console → APIs & Services → Credentials → Authorized redirect URIs
- GitHub: GitHub → Settings → Developer settings → OAuth Apps → Authorization callback URL
- Redirect URI format:
{backend-base-url}/oauth/{provider}/callback(e.g.,http://your-domain:port/oauth/google/callback)
-
Verify credentials:
- Check admin panel → OAuth Configuration
- Ensure Client ID and Client Secret are correct (no extra spaces, copied completely)
- For Google: Verify OAuth consent screen is configured
- For GitHub: Verify OAuth app is active
-
Check backend logs for OAuth errors:
docker-compose logs backend | grep -i oauth
Symptoms: OAuth provider button doesn't show on login page.
Solutions:
-
Check OAuth configuration in admin panel → OAuth Configuration:
- Verify provider toggle is enabled
- Ensure Client ID and Client Secret are set
-
Verify frontend has latest code:
# Docker Compose docker-compose build frontend docker-compose restart frontend # Manual installation cd frontend && npm ci && npm run build
-
Hard refresh browser (if frontend code was updated):
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(Mac)
Symptoms: Error when uploading default model in admin panel → Branding Hub → Default Model.
Solutions:
-
Verify file type: Only
.FCStdfiles are allowed -
Check FC-Worker is running (required for OBJ generation):
- See FC-Worker Not Responding for troubleshooting steps
-
Check backend logs for specific errors:
docker-compose logs backend | grep -i "default.*model\|obj.*generation"
Common errors:
- "OBJ generation timeout" - FC-Worker is slow or unresponsive (timeout occurs after multiple retry attempts)
- "OBJ generation failed" - FC-Worker processing error
Symptoms: Run history shows error with this message immediately after clicking Run.
Solutions:
This means the backend dispatched the job but FC-Worker was unreachable. See FC-Worker Not Responding.
Symptoms: Run history shows error with this message.
Solutions:
-
Check FC-Worker logs for model download errors:
docker-compose logs fc-worker-celery | grep "failed to fetch model"
-
Verify the model file exists in the upload storage and is accessible from the FC-Worker container
-
Check
UPLOAD_URLin FC-Worker config points to the correct storage endpoint and is reachable from the FC-Worker container
Symptoms: stdout or stderr ends abruptly; output appears cut off.
Solutions:
Each of stdout and stderr is capped at 256 KB. Reduce the amount of output your script produces (e.g. avoid printing every iteration of a loop).
Symptoms: Cannot access admin panel or Xavier menu.
Solutions:
-
Verify admin user exists:
mongosh "mongodb://localhost:27017/backend-db" --eval "db.users.find({ email: 'admin@local.test' })"
-
Check Admin organization exists:
mongosh "mongodb://localhost:27017/backend-db" --eval "db.organizations.find({ type: 'Admin' })"
-
Verify admin user is member of Admin organization:
mongosh "mongodb://localhost:27017/backend-db" --eval "db.users.findOne({ email: 'admin@local.test' }, { organizations: 1 })"
-
Create admin user (if missing):
cd backend npm run migration addDefaultAdminUser -
Log out and log back in with admin credentials
Symptoms: API calls fail with 404 errors.
Solutions:
-
Check API URL:
- Frontend: Verify
VITE_APP_API_URLmatches backend URL - Ensure trailing slash:
http://localhost:3030/
- Frontend: Verify
-
Check Swagger docs to verify route exists:
curl http://localhost:3030/docs
Symptoms: Error connect ECONNREFUSED ::1:465 when registering user, email verification fails.
Solutions:
-
Configure SMTP settings:
- Set
SMTP_HOST,SMTP_PORT,SMTP_USER,SMTP_PASS,SMTP_FROMin backend.env - SMTP is required for user registration (sends verification/welcome emails)
- Set
-
Verify SMTP server is accessible:
- Test SMTP connection from backend container
- Check firewall rules if using external SMTP server
-
Check backend logs for SMTP errors:
docker-compose logs backend | grep -i smtp
Symptoms: Cannot upload or download models.
Solutions:
-
Check backend logs for upload errors:
docker-compose logs backend | grep -i upload -
Verify FC-Worker is running (for model processing) - see FC-Worker Not Responding
Additional troubleshooting steps:
-
Check logs:
- Backend:
docker-compose logs backend - Frontend: Browser console (F12) and
docker-compose logs frontend - FC-Worker:
docker-compose logs fc-worker-apianddocker-compose logs fc-worker-celery
- Backend:
-
Review documentation:
docs/migration.md- Migration troubleshootingdocs/admin-panel.md- Admin panel configurationdocs/upgrade.md- FC-Worker upgrade troubleshooting
-
Verify migrations: Ensure all migrations have run (see
docs/migration.md)