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
ServiceURL
Frontendhttp://localhost:3000
APIhttp://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

IssueSolution
connection refused (database)Ensure PostgreSQL is running: pg_isready
connection refused (redis)Ensure Redis is running: redis-cli ping
database does not existCreate it: createdb whatomate
permission deniedCheck database user/password in config.toml
port already in useChange port in config.toml or stop conflicting service
Frontend can’t reach APIEnsure 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