wacrm/docs/getting-started.md
Arnas Donauskas 7148c209a0
docs: end-to-end self-host setup guide
Adds docs/ with a reading-order flow that covers:
  - getting started (fork, install, run locally)
  - supabase setup + migrations
  - whatsapp business api + webhook wiring
  - environment variable reference
  - hostinger vps deploy walkthrough
  - automations cron scheduling
  - troubleshooting for the common issues

Rewrites the top-level README as a pointer into docs/ instead of the
create-next-app boilerplate.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 20:52:08 +03:00

2.3 KiB

Getting started

Run WaCRM locally in about 15 minutes. This guide assumes Node.js 20+ and npm are already installed.

1. Fork and clone

  1. Go to https://github.com/ArnasDon/wacrm and click Fork (top right).

  2. Clone your fork:

    git clone https://github.com/<your-username>/wacrm.git
    cd wacrm
    

2. Install dependencies

npm install

3. Create the environment file

Copy the template and fill in the values (full reference in environment-variables.md):

cp .env.local.example .env.local

You cannot run npm run dev until at least NEXT_PUBLIC_SUPABASE_URL and NEXT_PUBLIC_SUPABASE_ANON_KEY are set. You need the full Supabase setup before WhatsApp features will work, so do that next.

4. Set up Supabase

Follow supabase-setup.md to create the project and run the migrations. Come back here when the URL, anon key, and service-role key are populated in .env.local.

5. Generate the encryption key

Access tokens for WhatsApp are encrypted at rest with AES-256-CBC. Generate a 64-character hex key:

node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"

Paste the output into ENCRYPTION_KEY in .env.local. Do not change this value later — existing tokens are encrypted with whatever value was set at the time, and rotating it will make them unreadable.

6. Run the dev server

npm run dev

Open http://localhost:3000. You should see the marketing landing page.

  • Create an account at /signup.
  • After sign-in you land on /dashboard.
  • The inbox, contacts, pipelines, automations, and broadcasts modules are all empty until you connect a WhatsApp number (whatsapp-setup.md).

7. Commands cheat sheet

Command Purpose
npm run dev Dev server with Turbopack HMR on :3000.
npm run build Production build.
npm start Run the production build.
npm run lint ESLint across the project.

Next step

Supabase setup →