WhatsMine Documentation
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Mobile App
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
Home
  • What is WhatsMine?
  • Feature Tour
  • Requirements
  • Installation
  • Configuration (.env reference)
  • Going Live Checklist
Admin Guide
User Guide
Mobile App
Integrations
  • Architecture
  • REST API v1
  • Production Deployment
  • Frequently Asked Questions
  • Troubleshooting
  • Changelog
  • Getting Started

    • Requirements
    • Installation
    • Configuration (.env reference)
    • Going Live Checklist
    • Production Deployment
    • Demo Mode
    • Updating

Installation

WhatsMine can be installed two ways — both take only a few minutes:

  • 🪄 Web installer — a browser-based setup wizard at /install. Recommended for most users; no terminal needed for the setup itself.
  • ⌨️ CLI installer — the php artisan saas:install command, for terminal or automated/scripted deployments.

Either way you first prepare the files, database and .env, then run one of the two installers.

Overview

  1. Upload / extract the files and install dependencies
  2. Create the database
  3. Configure the .env file (and generate the app key)
  4. Build the frontend assets
  5. Run the installer — Web or CLI
  6. Log in

Step 1 — Get the files and install dependencies

Extract the package onto your server, then from the project root run:

# Install PHP dependencies
composer install

# Install Node dependencies (needed to build the UI)
npm install

Shared hosting?

If your host doesn't give you SSH access to run Composer/Node, you can run these on your local machine, then upload the resulting vendor/ folder and the built public/build/ assets. Most VPS and managed hosts support SSH.

Step 2 — Create the database

Create an empty MySQL database and a user with full privileges on it. Note the database name, username and password — you'll enter them in the installer.

CREATE DATABASE whatsmine CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'whatsmine'@'localhost' IDENTIFIED BY 'a-strong-password';
GRANT ALL PRIVILEGES ON whatsmine.* TO 'whatsmine'@'localhost';
FLUSH PRIVILEGES;

The database must already exist

The installer creates all the tables, but it does not create the database itself. Create the empty database first (as above).

Step 3 — Configure your environment

Copy the example environment file and generate the application key:

cp .env.example .env
php artisan key:generate

Open .env and set at least your URL:

APP_NAME="WhatsMine"
APP_ENV=production
APP_DEBUG=false
APP_URL=https://your-domain.com

# Leave APP_INSTALLED=false so the setup wizard runs.
APP_INSTALLED=false

You can enter your database credentials in the web installer (Step 5A) — or set DB_* here now if you prefer the CLI:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=whatsmine
DB_USERNAME=whatsmine
DB_PASSWORD=a-strong-password

Mail, billing and integrations can be configured now or later from the admin panel. The full list of variables is in the Configuration reference.

APP_KEY is required before the web installer

The setup wizard needs a valid APP_KEY for sessions to work, so run php artisan key:generate before opening /install. (The CLI installer generates it for you.)

Step 4 — Build the frontend

Compile the React UI (the web installer is part of it, so build before opening the wizard):

npm run build

Step 5 (Option A): Web installer

With APP_INSTALLED=false, every page redirects to the setup wizard. Open your site in a browser — you'll land on:

https://your-domain.com/install

📸 Screenshot: The WhatsMine setup wizard — branded sidebar with the step list on the left, the active step on the right.

The wizard walks you through five steps:

StepWhat you do
1. RequirementsAn automatic pre-flight check of your PHP version, required extensions and writable paths. All rows must be green to continue.
2. ApplicationConfirm the app name, public URL and environment (production/local).
3. DatabaseEnter your database host, port, name, user and password, then click Test connection to verify before continuing.
4. AdminCreate the platform super-admin (name, email, password) you'll sign in with.
5. Confirm & installChoose Production (core data only) or Demo (core data plus sample contacts, conversations, an AI chatbot and demo billing), then click Install now.

When you click Install now, WhatsMine writes your settings to .env, runs all migrations, seeds the data, creates your admin account, then locks the installer (APP_INSTALLED=true) and sends you to the sign-in page.

The installer locks itself

Once installation succeeds, APP_INSTALLED is set to true, the /install route redirects away, and the wizard can't be run again. If a step fails partway through, nothing is locked — fix the issue and retry; the seeders are safe to re-run.

Step 5 (Option B): CLI installer

Prefer the terminal (or scripting your deploy)? With your DB_* values set in .env, run:

php artisan saas:install

The command will:

  1. Generate the application key (if missing) and run all database migrations.
  2. Seed internationalisation defaults and the core data (roles, plans, currencies, email templates, pages).
  3. Prompt you to create the super-admin — name, email and password.
  4. Clear caches.

CLI installer options

CommandWhat it does
php artisan saas:installStandard install (migrate + seed core + create admin).
php artisan saas:install --seedAlso seeds demo data (sample contacts, conversations, etc.) — great for evaluating.
php artisan saas:install --freshDrops all existing tables and re-creates them. Use only on a clean/wiped database.
php artisan saas:install --fresh --seedFresh database with demo data.

Warning

--fresh permanently deletes all data. Never run it on a live database.

The web and CLI installers share the same underlying logic, so the result is identical. The CLI does not automatically set APP_INSTALLED=true — for a CLI install, set APP_INSTALLED=true in .env yourself when you're done so the setup wizard stays disabled.

Step 6 — Log in

  • Sign in: https://your-domain.com/login — the single sign-in page for both the super-admin account you just created and your business customers. WhatsMine detects an admin account and sends it to the admin panel; everyone else lands in the customer app. (/admin/login still works and simply forwards here.)
  • Marketing site: https://your-domain.com/ — the public landing page.

📸 Screenshot: The sign-in screen at /login.

Recommended next steps

After logging in, before you launch:

  1. Set up your queue worker and cron — see Deployment. Without these, campaigns, inbound messages and emails won't process.
  2. Brand the platform — Branding & Settings.
  3. Configure email (SMTP) — Email System.
  4. Connect a payment gateway — Payment Gateways.
  5. Add your integrations — Integrations.
  6. Run the Going Live Checklist.

Quick command reference

composer install            # PHP dependencies
npm install                 # Node dependencies
cp .env.example .env        # create env file
php artisan key:generate    # generate APP_KEY (required for the web installer)
npm run build               # compile the UI
# then either:
#   open https://your-domain.com/install   (web installer)
# or:
php artisan saas:install    # CLI installer
Last Updated: 6/20/26, 4:23 PM
Prev
Requirements
Next
Configuration (.env reference)