Docker (recommended)
git clone https://github.com/6t9xstar/Open-Cold-Dialer.git
cd Open-Cold-Dialer
cp .env.example .env.local
# Generate a secure JWT secret
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env.local
docker compose up -d
docker compose exec backend npm run seedThe app is now on port 3000 and the API on port 4000. For development with live reload, use docker compose -f docker-compose.dev.yml up.
VPS
You need Ubuntu 22.04 or similar with Docker installed, and optionally a domain name.
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
git clone https://github.com/6t9xstar/Open-Cold-Dialer.git
cd Open-Cold-Dialer
cp .env.example .env.local
nano .env.local # add your SIP credentials and JWT secret
docker compose up -d
docker compose exec backend npm run seedNginx reverse proxy
server {
listen 80;
server_name dialer.example.com;
location / {
proxy_pass http://localhost:3000;
}
location /api {
proxy_pass http://localhost:4000;
}
}Add HTTPS with Certbot (certbot --nginx). Calls need it, because browsers block microphone access on plain HTTP.
Hostinger
The repository includes Hostinger scripts in hostinger/ and scripts/. Follow scripts/HOSTINGER_SETUP.md in the repository.
Production checklist
- Set a long random
JWT_SECRET. - Change the seeded admin password.
- Serve over HTTPS.
- Back up the SQLite database file, or use Supabase.