Prerequisites
- Node.js 20 or higher, and npm
- Docker and Docker Compose, if you use the Docker option
Option 1: Self-hosted (recommended)
git clone https://github.com/6t9xstar/Open-Cold-Dialer.git
cd Open-Cold-Dialer
# Backend
cd backend
npm install
npm run seed
npm run dev
# Frontend (in a new terminal)
cd frontend
npm install
cp .env.example .env.local
# Edit .env.local and set VITE_API_URL=http://localhost:4000
npm run devOpen http://localhost:3000. Twenty sample leads are pre-loaded.
The seed creates a default admin account, and its login is in the project README. Change the password before you put the app on a public server.
Option 2: Docker
git clone https://github.com/6t9xstar/Open-Cold-Dialer.git
cd Open-Cold-Dialer
cp .env.example .env.local
docker compose up -d
docker compose exec backend npm run seedOption 3: Supabase (cloud)
git clone https://github.com/6t9xstar/Open-Cold-Dialer.git
cd Open-Cold-Dialer/frontend
npm install
cp .env.example .env.local
# Add your Supabase URL and anon key to .env.local
npm run devMake real calls
Out of the box, calls are simulated. To dial real numbers, add your SIP credentials to .env.local. The SIP providers guide has the values for each provider.
VITE_SIP_URI=sip:your-extension@your-domain.sip.signalwire.com
VITE_SIP_PASSWORD=your-password
VITE_SIP_WS_URL=wss://your-domain.sip.signalwire.com
VITE_SIP_CALLER_ID=+1XXXXXXXXXX