Common issues and solutions for @dreamfactory/create.
Error: Docker is not installed or not running
Solution:
- Install Docker: https://docs.docker.com/get-docker/
- Start Docker Desktop (Mac/Windows) or Docker daemon (Linux)
- Verify:
docker ps
Error: Port 8080 is already allocated
Solution:
-
Find what's using the port:
sudo lsof -i :8080 # or sudo netstat -tlnp | grep 8080
-
Option A: Stop the conflicting service
# If it's another DreamFactory instance: cd other-project && docker compose down
-
Option B: Use a different port
npx @dreamfactory/create my-project --port 8081
Error: JavaScript heap out of memory
Solution: Increase Docker memory allocation:
- Docker Desktop: Settings → Resources → Memory → 4GB+
- Restart Docker Desktop
Error: Service 'web' failed to start
Solution:
-
Check logs:
cd my-project docker compose logs web -
Common causes:
- Port conflict (see above)
- Insufficient disk space:
df -h - PostgreSQL not ready: Wait 30s and retry
-
Force rebuild:
docker compose down -v docker compose up --build
http://localhost:8080 → Connection refused
Solution:
-
Verify containers are running:
docker ps | grep dreamfactory -
Check container health:
docker compose ps # Should show "healthy" status -
Wait for startup: DreamFactory takes 1-2 minutes to fully initialize
docker compose logs -f web | grep "nginx" # Wait for: "nginx started"
-
Check firewall:
curl -v http://localhost:8080/api/v2/system/environment
Error: SQLSTATE[08006] connection refused
Solution:
-
Verify database container is running:
docker ps | grep postgres -
Check database credentials:
- Review
.envfile - Ensure
DB_PASSWORDmatches between DreamFactory and database
- Review
-
For external databases:
- Verify network connectivity:
ping db.example.com - Check firewall rules
- For
localhost: Usehost.docker.internal(Mac/Windows) or172.17.0.1(Linux)
- Verify network connectivity:
-
Test direct connection:
docker exec -it my-project-postgres-1 psql -U dreamfactory -d dreamfactory
MCP server "dreamfactory-demo" failed to start
Solution:
-
Verify MCP config location:
- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Linux:
~/.config/Claude/claude_desktop_config.json - Windows:
%APPDATA%/Claude/claude_desktop_config.json
- Mac:
-
Check config syntax:
cat ~/.config/Claude/claude_desktop_config.json | jq # Should parse without errors
-
Verify DreamFactory is running:
curl http://localhost:8080/api/v2/system/environment
-
Check API key:
# Test API key from config: curl -H "X-DreamFactory-API-Key: YOUR_KEY" \ http://localhost:8080/api/v2/demo_db/_table
-
Restart Claude Desktop:
- Completely quit Claude Desktop
- Wait 5 seconds
- Restart
Claude says: "I don't have access to database tools"
Solution:
-
Check MCP server status in Claude:
- Start new chat
- Type:
/mcp - Verify
dreamfactory-demoappears and is connected
-
Verify OAuth flow:
# Check MCP daemon logs: docker compose logs web | grep "MCP"
-
Regenerate OAuth client:
- Admin UI → Apps → Your App → Edit
- Delete and recreate OAuth client
- Update
.mcp.jsonwith new client ID/secret
-
Test MCP endpoint directly:
curl -X POST http://localhost:8080/api/v2/mcp/demo_db \ -H "X-DreamFactory-Session-Token: YOUR_TOKEN"
Error: fetch failed (ECONNREFUSED)
Solution: This was a bug in early versions, fixed in v0.1.0+.
-
Update to latest version:
npx @dreamfactory/create@latest my-new-project
-
If using existing project:
- The Dockerfile includes a fix for containerized port mapping
- Rebuild:
docker compose down && docker compose up --build
{"error": {"code": 401, "message": "Unauthorized"}}
Solution:
-
Check API key:
# Verify key in .env matches your request: cat .env | grep DREAMFACTORY_API_KEY
-
Generate new API key:
- Admin UI → Apps → Create new app
- Copy API key
- Update
.envand MCP configs
{"error": {"code": 403, "message": "Access Denied"}}
Solution: RBAC is blocking your request.
-
Check role configuration:
- Admin UI → Roles → Your role
- Verify service access is configured
- Check HTTP method is allowed (GET/POST/etc.)
-
Check field restrictions:
- Review "Deny Fields" list
- Verify field names match exactly (case-sensitive)
-
Test with admin credentials:
# Login as admin first to verify API works: curl -X POST http://localhost:8080/api/v2/user/session \ -d '{"email":"admin@example.com","password":"YOUR_PASSWORD"}'
{"resource": []}
Solution:
-
RBAC filter too restrictive:
- Check role filter configuration
- Test without filters first
-
Wrong table name:
# List all tables: curl http://localhost:8080/api/v2/demo_db/_table -
Database actually empty:
# Check row count: docker exec -it my-project-demo_db-1 \ psql -U postgres -d pagila -c "SELECT COUNT(*) FROM customer;"
Requests taking > 5 seconds
Solution:
-
Check Docker resources:
- Increase CPU/Memory in Docker Desktop settings
- Recommended: 4GB RAM, 2+ CPUs
-
Database optimization:
- Add indexes to frequently queried columns
- Review slow query logs
-
Enable caching:
# docker-compose.yml already includes Redis # Verify CACHE_DRIVER=redis in .env
-
Check network:
# If using external database, test latency: ping db.example.com
cd my-project
# All services:
docker compose logs -f
# Specific service:
docker compose logs -f web
# Last 100 lines:
docker compose logs --tail 100 web
# Follow new logs:
docker compose logs -f --tail 0 webdocker compose restart# WARNING: Deletes all data and volumes
docker compose down -v
rm -rf my-project
npx @dreamfactory/create my-project# Verify DreamFactory version and status:
curl http://localhost:8080/api/v2/system/environment | jq-
Check existing issues: https://github.com/dreamfactorysoftware/create-dreamfactory/issues
-
Create new issue: Include:
- Operating system
- Docker version:
docker --version - Error logs:
docker compose logs web - Steps to reproduce
-
Community forum: https://community.dreamfactory.com
-
Commercial support: https://www.dreamfactory.com/support