Skip to content

Quickstart

Get Whatomate up and running in minutes using Docker or manual installation.

The fastest way to get started:

Terminal window
# Clone the repository
git clone https://github.com/shridarpatil/whatomate.git
cd whatomate
cp config.example.toml docker/config.toml
cp docker/.env.example docker/.env # Edit to set PostgreSQL credentials and timezone
# Start all services (PostgreSQL, Redis, Server)
make docker-up
# Access the application
open http://localhost:8080

Default login: admin@admin.com / admin

  • Go 1.21+
  • Node.js 18+
  • PostgreSQL 14+
  • Redis 6+
Terminal window
git clone https://github.com/shridarpatil/whatomate.git
cd whatomate
cp config.example.toml config.toml
Terminal window
# Create database
createdb whatomate
# Or using psql
psql -c "CREATE DATABASE whatomate;"
# Or with custom user
psql -c "CREATE USER whatomate WITH PASSWORD 'whatomate123';"
psql -c "CREATE DATABASE whatomate OWNER whatomate;"

Update config.toml with your database credentials:

[database]
host = "localhost"
port = 5432
user = "whatomate"
password = "whatomate123"
name = "whatomate"
Terminal window
brew install redis
brew services start redis
Terminal window
# Install Go dependencies
go mod download
# Run migrations and start server
make run-migrate

Open a new terminal:

Terminal window
cd frontend
npm install
npm run dev

| Service | URL | |---------|-----| | Frontend | http://localhost:3000 | | API | http://localhost:8080 |

Login: admin@admin.com / admin

For production, build a single binary with embedded frontend:

Terminal window
make build-prod
./whatomate server -migrate

This creates a self-contained binary—no separate frontend server needed. Access at http://localhost:8080.

Template to start with a production ready instance!

Deploy on Railway

| Issue | Solution | |-------|----------| | connection refused (database) | Ensure PostgreSQL is running: pg_isready | | connection refused (redis) | Ensure Redis is running: redis-cli ping | | database does not exist | Create it: createdb whatomate | | permission denied | Check database user/password in config.toml | | port already in use | Change port in config.toml or stop conflicting service | | Frontend can't reach API | Ensure backend is running on port 8080 |

To connect your WhatsApp Business account:

  1. Create a Meta Business account at business.facebook.com
  2. Set up a WhatsApp Business API account
  3. Generate an access token and note your Phone Number ID
  4. Add these credentials in Whatomate's SettingsAccounts