Skip to content

Quickstart

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

Quick Start (Docker)

The fastest way to get started:

Terminal window
# Clone the repository
git clone https://github.com/shridarpatil/whatomate.git
cd whatomate
# Start all services (PostgreSQL, Redis, Server)
make docker-up
# Access the application
open http://localhost:8080

Default login: admin@admin.com / admin

Manual Installation

Prerequisites

  • Go 1.21+
  • Node.js 18+
  • PostgreSQL 14+
  • Redis 6+

Step 1: Clone and Configure

Terminal window
git clone https://github.com/shridarpatil/whatomate.git
cd whatomate
cp config.example.toml config.toml

Step 2: Setup PostgreSQL

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"

Step 3: Setup Redis

Terminal window
brew install redis
brew services start redis

Step 4: Start Backend

Terminal window
# Install Go dependencies
go mod download
# Run migrations and start server
make run-migrate

Step 5: Start Frontend

Open a new terminal:

Terminal window
cd frontend
npm install
npm run dev

Step 6: Access Application

ServiceURL
Frontendhttp://localhost:3000
APIhttp://localhost:8080

Login: admin@admin.com / admin

Production Build

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.

3rd Party Hosting

Railway Template

Template to start with a production ready instance!

Deploy on Railway

Troubleshooting

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

WhatsApp Configuration

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

Next Steps