0% found this document useful (0 votes)
4 views3 pages

Setup Notes

The Excali-Draw project is successfully running with a frontend and backend services, but there is a Redis connection issue affecting certain features. To resolve this, developers can either use a local Redis instance, fix the cloud Redis connection, or obtain a new Redis instance. The document also outlines fixed issues, running instructions, required environment variables, and next steps for ensuring full functionality.

Uploaded by

priyan969666
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views3 pages

Setup Notes

The Excali-Draw project is successfully running with a frontend and backend services, but there is a Redis connection issue affecting certain features. To resolve this, developers can either use a local Redis instance, fix the cloud Redis connection, or obtain a new Redis instance. The document also outlines fixed issues, running instructions, required environment variables, and next steps for ensuring full functionality.

Uploaded by

priyan969666
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Excali-Draw Setup Notes

฀ Successfully Running

The project is now running with the following services:

Frontend ([Link]): [Link]


HTTP Backend (Express): [Link]
WebSocket Backend: [Link]

⚠ Redis Configuration Issue

Current Status

Redis connection is failing with the configured cloud Redis instance. The app continues to run, but
features requiring Redis won't work:

Real-time chat functionality


Background job processing (worker queue)
Real-time canvas synchronization

To Fix Redis Connection

Option 1: Use Local Redis (Recommended for Development)

1. Install Redis locally:


Windows: choco install redis or download from [Link]
Run Redis: redis-server
2. Update .env :

REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# Comment out or remove REDIS_DB_URL
# REDIS_DB_URL=...

Option 2: Fix Cloud Redis Connection

The current cloud Redis URL may be invalid or expired:

REDIS_DB_URL=redis://default:apkq6GelJbaDnF6Hqj7cnLXMVB3vAMtK@[Link]-south-1-
To fix:

1. Verify the Redis instance is active and accessible


2. Check credentials are correct
3. Ensure firewall/security groups allow connections from your IP

Option 3: Get New Redis Instance

Get a free Redis instance from:

[Link] (Redis Cloud)


[Link] (Upstash Redis)
[Link] (Railway)

Update .env with new credentials.

฀ Fixed Issues

1. ฀ Redis port NaN error - Fixed environment variable loading


2. ฀ Added graceful error handling for Redis connection failures
3. ฀ Fixed dotenv path resolution in monorepo structure
4. ฀ All services start successfully despite Redis connection issues

฀ Running the Project

# Development mode (all services)


bun dev

# Individual services
cd apps/excalidraw-frontend && bun dev
cd apps/http-backend && bun dev
cd apps/ws-backend && bun dev
cd apps/worker && bun dev

฀ Environment Variables

Ensure all required environment variables are set in the root .env file:

# Database
DATABASE_URL=postgresql://...

# JWT Secrets
JWT_SECRET=...
PLAIN_TEXT_SECRET=...

# Redis (choose one approach)


# Option 1: Use URL
REDIS_DB_URL=redis://...

# Option 2: Use individual values


REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=

฀ Next Steps

1. Fix Redis connection for full functionality


2. Test all features (auth, canvas, chat)
3. Run database migrations if needed: cd packages/db && bun run drizzle-kit push

You might also like