System Requirements

Before installing Automation Hub, ensure your server meets the following requirements:

Requirement Minimum Recommended
PHP8.2+8.3+
PHP Extensionspdo_mysql, openssl, curl, mbstring, json, fileinfo, xml, bcmath, ctype, tokenizer
DatabaseMySQL 8.0+ or MariaDB 10.6+MySQL 8.0+ (InnoDB)
Node.js18+20 LTS
npm9+10+
Composer2.x2.7+
Web ServerApache 2.4+ or Nginx 1.18+Nginx 1.24+
RAM1 GB2 GB+
Disk Space500 MB2 GB+
Operating SystemUbuntu 20.04+, CentOS 8+, macOS, Windows (via WSL2/MAMP/XAMPP)

PHP Extensions

Most hosting providers and PHP installations include these extensions by default. If you're using a VPS, you may need to install them manually. The auto-installer will check all requirements for you.

Installation Methods

Choose the installation method that best fits your environment:

1. VPS / Dedicated Server (Ubuntu/Debian)

This is the recommended method for production deployments. Follow these steps on a fresh Ubuntu 20.04+ or Debian 11+ server.

1

Install PHP 8.2 and Required Extensions

bash
sudo apt update && sudo apt install -y php8.2 php8.2-cli php8.2-fpm \
  php8.2-mysql php8.2-xml php8.2-mbstring php8.2-curl php8.2-zip \
  php8.2-bcmath php8.2-fileinfo php8.2-tokenizer
2

Install Composer

bash
curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
3

Install Node.js 18

bash
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs
4

Install MySQL 8

bash
sudo apt install -y mysql-server
sudo mysql_secure_installation
5

Upload Project Files

bash
# Upload your automationhub files to the server
cd /var/www
# Use scp, rsync, or your preferred upload method
# Example: scp -r ./automationhub user@server:/var/www/
6

Install Dependencies

bash
cd /var/www/automationhub
composer install --no-dev --optimize-autoloader
npm ci && npm run build
7

Environment Setup

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

Then edit .env with your database credentials and application settings. See the Environment Configuration section below for all variables.

8

Database Setup

bash
# Create the database
mysql -u root -p -e "CREATE DATABASE automation_hub CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"

# Run migrations
php artisan migrate --force
9

Set Permissions

bash
sudo chown -R www-data:www-data storage bootstrap/cache
sudo chmod -R 775 storage bootstrap/cache
10

Storage Link & Cache

bash
# Create storage symlink
php artisan storage:link

# Cache configuration for production
php artisan config:cache
php artisan route:cache
php artisan view:cache

Important: Permissions

The storage/ and bootstrap/cache/ directories must be writable by your web server. Incorrect permissions are the #1 cause of installation issues.

Nginx Configuration

Create a new server block at /etc/nginx/sites-available/automationhub:

nginx
server {
    listen 80;
    server_name yourdomain.com;
    root /var/www/automationhub/public;
    index index.php;

    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Content-Type-Options "nosniff";

    charset utf-8;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    error_page 404 /index.php;

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}
bash
# Enable the site and restart Nginx
sudo ln -s /etc/nginx/sites-available/automationhub /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Apache Configuration

Automation Hub includes a .htaccess file in the public/ directory. For Apache, create a VirtualHost:

apache
<VirtualHost *:80>
    ServerName yourdomain.com
    DocumentRoot /var/www/automationhub/public

    <Directory /var/www/automationhub/public>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>
bash
# Enable mod_rewrite and the site
sudo a2enmod rewrite
sudo a2ensite automationhub.conf
sudo systemctl restart apache2

2. cPanel / Shared Hosting

If you're using shared hosting with cPanel, follow these steps:

1

Upload Files

Upload the Automation Hub files to your hosting account using File Manager or SSH. Extract the archive into your desired directory (e.g., /home/username/automationhub).

2

Set Document Root

Point your domain's document root to the public/ folder. In cPanel, go to Domains > your domain > set Document Root to /home/username/automationhub/public.

3

Create MySQL Database

Go to MySQL Databases in cPanel. Create a new database and user, then assign the user to the database with ALL PRIVILEGES.

4

Run Installation Commands

Access the Terminal in cPanel (or connect via SSH) and run:

bash
cd ~/automationhub
composer install --no-dev --optimize-autoloader
npm ci && npm run build
cp .env.example .env
php artisan key:generate
php artisan migrate --force
php artisan storage:link
5

Configure Cron Job

In cPanel, go to Cron Jobs and add:

bash
* * * * * cd /home/username/automationhub && php artisan schedule:run >> /dev/null 2>&1

Shared Hosting Tip

If your hosting provider doesn't offer SSH access or Terminal, you can use the Auto-Installer wizard at /install after uploading the files. It handles database setup and migrations through a web interface.

Local Development Setup

Use this guide to run Automation Hub on your own computer for development or testing. Node.js is required on local machines to compile the frontend assets. Choose the environment that best fits your operating system and experience level.

5 Supported Local Environments

This section covers setup instructions for Laravel Herd, Laragon, Laravel Valet, Docker / Laravel Sail, and WAMP. All environments require PHP 8.2+, Composer 2.6+, Node.js 18+ LTS, and MySQL 8.0+ (or MariaDB 10.6+). Pick the one you are most comfortable with and jump to its section below.

Quick Comparison

Environment Platform Best For Difficulty
Laravel Herd RECOMMENDEDmacOS / WindowsFastest zero-config setupEasy
Laragon RECOMMENDEDWindowsBest all-in-one for WindowsEasy
Laravel ValetmacOSLightweight CLI-driven devEasy
Docker / Laravel SailCross-platformReproducible, containerized environmentsMedium
WAMPWindowsClassic Windows AMP stackEasy
WSL2 + LAMPWindowsProduction-like Linux on WindowsMedium
DDEVCross-platformDocker-based, per-project configMedium
Native LinuxUbuntu / DebianFull LEMP for local devMedium
MAMPmacOSClassic macOS AMP stackEasy
XAMPPWindows / macOSCross-platform Apache bundleEasy

1. Laravel Herd (macOS / Windows) RECOMMENDED

Laravel Herd is a blazing-fast, native development environment that bundles PHP, Nginx, MySQL, and Node.js. No Docker or virtual machines required.

Prerequisites

Download and install Laravel Herd from herd.laravel.com. Herd includes PHP, Nginx, MySQL, and Node.js built-in — no extra installs needed. Make sure Composer is available globally (Herd installs it automatically).

  1. 1

    Park Your Projects Folder

    Open Herd and go to Settings → General → Paths. Add your projects directory (e.g., ~/Herd). Every folder inside a parked directory automatically becomes a .test domain.

  2. 2

    Extract Project Files

    Extract the downloaded ZIP into your parked directory. The folder name becomes the URL:

    bash
    # Extract to ~/Herd/automationhub
    # URL will be: http://automationhub.test
  3. 3

    Install Dependencies

    bash
    cd ~/Herd/automationhub
    composer install
  4. 4

    Configure Environment

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

    Open .env and set APP_URL=http://automationhub.test, APP_ENV=local, and APP_DEBUG=true.

  5. 5

    Build Frontend Assets

    bash
    npm install && npm run build
    php artisan storage:link
  6. 6

    Create Database and Run Migrations

    Open TablePlus (or any MySQL client) and create an empty database named automation_hub. Update .env with the database credentials:

    .env
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=automation_hub
    DB_USERNAME=root
    DB_PASSWORD=

    Then run the migrations:

    bash
    php artisan migrate --seed

    Visit http://automationhub.test in your browser. Use 127.0.0.1 as the database host and root / empty password (Herd default).

Pro Tip

Use herd secure automationhub to enable HTTPS locally. Herd also lets you switch PHP versions instantly via the menu bar — useful for testing compatibility.

2. Laragon (Windows) RECOMMENDED

Laragon is a portable, fast, and lightweight development environment for Windows. It auto-creates virtual hosts and includes Apache, MySQL, PHP, Node.js, and more.

Prerequisites

Download and install Laragon Full from laragon.org. The full edition includes PHP 8.2+, MySQL 8, Apache, Node.js, npm, Composer, and HeidiSQL. Ensure PHP 8.2+ is selected in Laragon → Menu → PHP.

  1. 1

    Extract Project Files

    Extract the downloaded ZIP into Laragon's web root. Laragon auto-creates a virtual host for each folder:

    path
    C:\laragon\www\automationhub

    The artisan file must be at the root of this folder. Laragon will auto-create automationhub.test as the virtual host.

  2. 2

    Start Services

    Open Laragon and click "Start All". This launches Apache, MySQL, and sets up the virtual host automatically. If prompted, allow Laragon to update the Windows hosts file.

  3. 3

    Install Dependencies

    Click "Terminal" in Laragon (or open Cmder/cmd) — Laragon adds PHP, Composer, and Node to the PATH automatically:

    bash — Laragon Terminal
    cd C:\laragon\www\automationhub
    composer install
    cp .env.example .env
    php artisan key:generate
  4. 4

    Build Frontend and Create Symlink

    bash
    npm install && npm run build
    php artisan storage:link

    Open .env and set APP_URL=http://automationhub.test, APP_ENV=local, and APP_DEBUG=true.

  5. 5

    Create Database and Run Migrations

    Open HeidiSQL (built into Laragon — right-click tray icon → MySQL → HeidiSQL) and create an empty database named automation_hub. Update .env:

    .env
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=automation_hub
    DB_USERNAME=root
    DB_PASSWORD=

    Then run migrations:

    bash
    php artisan migrate --seed

    Visit http://automationhub.test. Default Laragon MySQL credentials: host 127.0.0.1, port 3306, user root, password empty.

Pro Tip

Laragon supports switching PHP versions via Menu → PHP. You can also enable SSL per site by right-clicking the Laragon tray icon → Apache → SSL → automationhub.

3. Laravel Valet (macOS)

Laravel Valet is a lightweight macOS development environment that uses Nginx under the hood. It consumes minimal resources and automatically serves sites from parked directories.

Prerequisites

Homebrew, PHP 8.2+ (via brew install php), Composer (globally installed), Node.js 18+ LTS, and MySQL 8 (via brew install mysql).

  1. 1

    Install and Configure Valet

    bash
    composer global require laravel/valet
    valet install
    
    # Park your projects directory
    cd ~/Sites
    valet park

    Every folder inside ~/Sites is now automatically served as folder-name.test.

  2. 2

    Set Up MySQL and Create Database

    bash
    brew install mysql
    brew services start mysql
    mysql -u root -e "CREATE DATABASE automation_hub;"
  3. 3

    Extract and Install Project

    Extract the ZIP to ~/Sites/automationhub, then install dependencies:

    bash
    cd ~/Sites/automationhub
    composer install
    cp .env.example .env
    php artisan key:generate
    npm install && npm run build
    php artisan storage:link

    Set APP_URL=http://automationhub.test in .env.

  4. 4

    Run Migrations and Access the App

    bash
    php artisan migrate --seed

    Visit http://automationhub.test. Use 127.0.0.1 as the host, root as the user, and an empty password (Homebrew MySQL default).

Pro Tip

Run valet secure automationhub to serve the site over HTTPS with a trusted local certificate. This is useful for testing features that require a secure connection (e.g., service workers, clipboard API).

4. Docker / Laravel Sail (Cross-platform)

Laravel Sail provides a Docker-powered local development environment. It runs MySQL, PHP, Node.js, and all dependencies inside containers — nothing needs to be installed on your host machine except Docker.

Prerequisites

Docker Desktop must be installed and running. On Windows, enable WSL2 backend in Docker Desktop settings. No local PHP, Composer, or Node.js installation required — everything runs inside containers.

  1. 1

    Bootstrap Composer via Docker

    Extract the ZIP to your desired folder, then install PHP dependencies using a temporary Docker container:

    bash
    cd automationhub
    
    docker run --rm \
      -u "$(id -u):$(id -g)" \
      -v "$(pwd):/var/www/html" \
      -w /var/www/html \
      laravelsail/php83-composer:latest \
      composer install --ignore-platform-reqs
  2. 2

    Configure Environment for Sail

    bash
    cp .env.example .env

    Edit .env and set the following values for Sail's MySQL container:

    .env
    APP_URL=http://localhost
    DB_HOST=mysql
    DB_PORT=3306
    DB_DATABASE=automation_hub
    DB_USERNAME=sail
    DB_PASSWORD=password
  3. 3

    Start Sail Containers

    bash
    ./vendor/bin/sail up -d

    Wait for all containers to start. The first run downloads Docker images and may take a few minutes.

  4. 4

    Install Dependencies Inside Sail

    bash
    ./vendor/bin/sail artisan key:generate
    ./vendor/bin/sail npm install
    ./vendor/bin/sail npm run build
    ./vendor/bin/sail artisan storage:link
  5. 5

    Run Migrations and Access the App

    Sail's MySQL container auto-creates the database. Run migrations and visit the app:

    bash
    ./vendor/bin/sail artisan migrate --seed

    Visit http://localhost. Database credentials: host mysql, user sail, password password, database automation_hub.

Pro Tip

Add alias sail='./vendor/bin/sail' to your shell profile to shorten commands (e.g., sail up -d, sail artisan migrate). Use sail down to stop all containers.

5. WAMP (Windows)

WampServer provides Apache, MySQL, and PHP on Windows. It uses a system tray icon for managing services and includes phpMyAdmin for database management.

Prerequisites

Download and install WampServer from wampserver.com. After installation, click the WAMP tray icon → PHP → Version and select PHP 8.2+. Install Composer globally and Node.js 18+ LTS separately.

  1. 1

    Extract Project Files

    path
    C:\wamp64\www\automationhub
  2. 2

    Create Database via phpMyAdmin

    Start WAMP (tray icon should turn green), then open http://localhost/phpmyadmin. Create a new database named automation_hub with utf8mb4_unicode_ci collation.

  3. 3

    Install Dependencies

    Open Command Prompt or PowerShell:

    bash — Command Prompt
    cd C:\wamp64\www\automationhub
    composer install
    cp .env.example .env
    php artisan key:generate
    npm install && npm run build
    php artisan storage:link

    Set APP_URL=http://localhost/automationhub/public in .env.

  4. 4

    Configure Database and Run Migrations

    Update .env with WAMP MySQL credentials:

    .env
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=automation_hub
    DB_USERNAME=root
    DB_PASSWORD=

    Then run migrations:

    bash
    php artisan migrate --seed

    Visit http://localhost/automationhub/public. Default WAMP MySQL credentials: host 127.0.0.1, user root, password empty.

Pro Tip

If PHP is not in your PATH, add WAMP's PHP directory to your system PATH: C:\wamp64\bin\php\php8.3.x. Alternatively, use the full path to php.exe in your commands. You can also configure a virtual host in WAMP to access the project as automationhub.test instead of using the /public subfolder URL.

6. WSL2 + LAMP (Windows)

Run a full Linux LEMP stack inside Windows Subsystem for Linux 2. This gives you a production-like environment directly on Windows with near-native performance.

Prerequisites

Install Ubuntu 22.04 (or 24.04) from the Microsoft Store. WSL2 must be enabled (wsl --install from PowerShell as admin). You will also need Node.js 18+ LTS and Composer installed inside the WSL Ubuntu instance.

  1. 1

    Install LEMP Stack Inside WSL

    bash — WSL Ubuntu
    sudo apt update && sudo apt upgrade -y
    sudo apt install -y nginx mysql-server php8.2-fpm php8.2-mysql \
      php8.2-mbstring php8.2-xml php8.2-curl php8.2-zip php8.2-gd \
      php8.2-bcmath php8.2-intl php8.2-readline unzip
  2. 2

    Configure MySQL

    bash
    sudo service mysql start
    sudo mysql -e "CREATE USER 'automationhub'@'localhost' IDENTIFIED BY 'secret';"
    sudo mysql -e "CREATE DATABASE automation_hub;"
    sudo mysql -e "GRANT ALL PRIVILEGES ON automation_hub.* TO 'automationhub'@'localhost';"
    sudo mysql -e "FLUSH PRIVILEGES;"
  3. 3

    Extract and Install Project

    bash
    # Extract ZIP to /var/www/automationhub
    cd /var/www/automationhub
    sudo chown -R $USER:www-data .
    composer install
    cp .env.example .env
    php artisan key:generate
    npm install && npm run build
    php artisan storage:link
    chmod -R 775 storage bootstrap/cache
  4. 4

    Configure Nginx Virtual Host

    nginx — /etc/nginx/sites-available/automationhub
    server {
        listen 80;
        server_name automationhub.test;
        root /var/www/automationhub/public;
        index index.php;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.(?!well-known).* {
            deny all;
        }
    }
    bash
    sudo ln -s /etc/nginx/sites-available/automationhub /etc/nginx/sites-enabled/
    sudo nginx -t && sudo service nginx restart
  5. 5

    Update Windows Hosts File and Run Wizard

    Open C:\Windows\System32\drivers\etc\hosts in Notepad (as Administrator) and add:

    hosts
    127.0.0.1   automationhub.test

    Set APP_URL=http://automationhub.test in .env and visit http://automationhub.test/install. Use host 127.0.0.1, user automationhub, password secret in the wizard.

Pro Tip

Store your project files inside the WSL filesystem (e.g., /var/www/) rather than on the Windows mount (/mnt/c/) for significantly better I/O performance. You can access WSL files from Windows Explorer at \\wsl$\Ubuntu.

7. DDEV (Cross-platform)

DDEV is an open-source Docker-based local development tool with per-project configuration files. It supports Laravel out of the box and provides automatic HTTPS, database management, and easy sharing.

Prerequisites

Docker Desktop and DDEV must be installed. Install DDEV via Homebrew (brew install ddev/ddev/ddev) on macOS/Linux, or via the official installer on Windows. See ddev.readthedocs.io for details.

  1. 1

    Configure DDEV Project

    Extract the ZIP to a folder and initialize DDEV:

    bash
    cd automationhub
    ddev config --project-type=laravel --docroot=public --php-version=8.2
  2. 2

    Start DDEV and Install Dependencies

    bash
    ddev start
    ddev composer install
    ddev exec "npm install && npm run build"
  3. 3

    Configure Environment

    bash
    ddev exec cp .env.example .env
    ddev artisan key:generate
    ddev artisan storage:link

    Edit .env with DDEV database credentials:

    .env
    APP_URL=https://automationhub.ddev.site
    DB_HOST=db
    DB_PORT=3306
    DB_DATABASE=db
    DB_USERNAME=db
    DB_PASSWORD=db
  4. 4

    Run the Installation Wizard

    URL
    https://automationhub.ddev.site/install

    In the wizard database step, use host db, user db, password db, database db.

Pro Tip

DDEV provides HTTPS automatically. Use ddev describe to see all URLs and credentials. Use ddev share to create a temporary public URL for sharing your local site with others.

8. Native Linux (Ubuntu / Debian)

Install a full LEMP stack directly on your Linux machine. This gives you a production-like environment without any abstraction layers.

Prerequisites

Ubuntu 22.04/24.04 or Debian 12+. You will install Nginx, MySQL 8, PHP 8.2-FPM, Composer, and Node.js 18+ LTS via apt and official repositories.

  1. 1

    Install the LEMP Stack

    bash
    sudo apt update && sudo apt install -y nginx mysql-server \
      php8.2-fpm php8.2-mysql php8.2-mbstring php8.2-xml php8.2-curl \
      php8.2-zip php8.2-gd php8.2-bcmath php8.2-intl nodejs npm unzip
    
    # Install Composer
    curl -sS https://getcomposer.org/installer | php
    sudo mv composer.phar /usr/local/bin/composer
    
    # Install Node.js 18 LTS (if not already available)
    curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
    sudo apt install -y nodejs
  2. 2

    Set Up MySQL and Project

    bash
    sudo mysql -e "CREATE DATABASE automation_hub;"
    sudo mysql -e "CREATE USER 'automationhub'@'localhost' IDENTIFIED BY 'secret';"
    sudo mysql -e "GRANT ALL ON automation_hub.* TO 'automationhub'@'localhost';"
    
    # Extract project
    cd /var/www/automationhub
    sudo chown -R $USER:www-data .
    composer install
    cp .env.example .env
    php artisan key:generate
    npm install && npm run build
    php artisan storage:link
    chmod -R 775 storage bootstrap/cache
  3. 3

    Quick Test with Artisan Serve (Optional)

    For quick testing without configuring Nginx, you can use Laravel's built-in server:

    bash
    php artisan serve --host=0.0.0.0 --port=8000
    # Visit http://localhost:8000/install
  4. 4

    Production-like Nginx Configuration (Recommended)

    For a proper setup, create an Nginx vhost:

    nginx — /etc/nginx/sites-available/automationhub
    server {
        listen 80;
        server_name automationhub.local;
        root /var/www/automationhub/public;
        index index.php;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_pass unix:/run/php/php8.2-fpm.sock;
            fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
            include fastcgi_params;
        }
    
        location ~ /\.(?!well-known).* {
            deny all;
        }
    }
    bash
    sudo ln -s /etc/nginx/sites-available/automationhub /etc/nginx/sites-enabled/
    sudo nginx -t && sudo systemctl restart nginx
    # Add "127.0.0.1 automationhub.local" to /etc/hosts
    # Visit http://automationhub.local/install

Pro Tip

Use php artisan serve for quick testing and Nginx for a production-like environment. For active frontend development, run npm run dev in a separate terminal for hot module replacement with Vite.

9. MAMP (macOS)

MAMP is a classic local server environment for macOS that bundles Apache, MySQL, and PHP with a graphical interface. Note that MAMP uses port 8889 for MySQL by default (not 3306).

Prerequisites

Download and install MAMP from mamp.info. Also install Composer globally and Node.js 18+ LTS. In MAMP, go to Preferences → PHP and select PHP 8.2 or 8.3.

  1. 1

    Place the Files

    Extract the downloaded ZIP into MAMP's document root:

    path
    /path/to/automationhub/

    The file artisan must be at the root of this folder.

  2. 2

    Start MAMP and Create Database

    Open MAMP and start both Apache and MySQL services. Go to MAMP → Preferences → PHP and confirm PHP 8.2 or 8.3 is selected.

    Create an empty database named automation_hub using phpMyAdmin at http://localhost:8888/phpMyAdmin.

  3. 3

    Install Dependencies

    On MAMP you may need to use MAMP's PHP binary explicitly:

    bash — MAMP (macOS)
    cd /path/to/automationhub
    php /usr/local/bin/composer install

    If Composer is not in your PATH, download it from getcomposer.org and run it as php composer.phar install.

  4. 4

    Configure Environment

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

    Open .env and configure the following critical MAMP settings:

    .env
    APP_URL=http://localhost:8888
    APP_ENV=local
    APP_DEBUG=true
    
    DB_HOST=127.0.0.1
    DB_PORT=8889
    DB_DATABASE=automation_hub
    DB_USERNAME=root
    DB_PASSWORD=root
    DB_SOCKET=/tmp/mysql.sock

    Important: MAMP uses port 8889 for MySQL (not 3306). Check MAMP → Preferences → Ports to confirm. The DB_SOCKET line is optional but can help if TCP connections fail.

  5. 5

    Build Frontend and Create Symlink

    bash
    npm install && npm run build
    php artisan storage:link
  6. 6

    Run the Installation Wizard

    URL
    http://localhost:8888/automationhub/public/install

    Follow the wizard. Use host 127.0.0.1, port 8889, user root, password root.

Pro Tip

MAMP's default MySQL port is 8889 (not the standard 3306). Check MAMP → Preferences → Ports to confirm. If using MAMP Pro, you can set up custom virtual hosts for cleaner URLs like automationhub.test — go to Hosts → + → set the document root to /path/to/automationhub/public.

10. XAMPP (Windows / macOS)

XAMPP is a popular cross-platform Apache, MySQL, PHP, and Perl distribution. It is easy to install and works on both Windows and macOS.

Prerequisites

Download and install XAMPP from apachefriends.org (choose the PHP 8.2+ version). Also install Composer globally and Node.js 18+ LTS.

  1. 1

    Place the Files

    Extract the downloaded ZIP into XAMPP's document root:

    • Windows: C:\xampp\htdocs\automationhub\
    • macOS: /Applications/XAMPP/htdocs/automationhub/

    The file artisan must be at the root of this folder.

  2. 2

    Start XAMPP and Create Database

    Open the XAMPP Control Panel and start Apache and MySQL. Then open phpMyAdmin at http://localhost/phpmyadmin and create a new database named automation_hub with utf8mb4_unicode_ci collation.

  3. 3

    Install Dependencies

    bash — XAMPP (Windows)
    cd C:\xampp\htdocs\automationhub
    composer install
    cp .env.example .env
    php artisan key:generate
    bash — XAMPP (macOS)
    cd /Applications/XAMPP/htdocs/automationhub
    composer install
    cp .env.example .env
    php artisan key:generate

    Set APP_URL=http://localhost/automationhub/public, APP_ENV=local, and APP_DEBUG=true in .env.

  4. 4

    Configure Database

    Update .env with XAMPP MySQL credentials:

    .env
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=automation_hub
    DB_USERNAME=root
    DB_PASSWORD=
  5. 5

    Build Frontend and Create Symlink

    bash
    npm install && npm run build
    php artisan storage:link

    For active development, use npm run dev instead of npm run build for hot module replacement.

  6. 6

    Run the Installation Wizard

    URL
    http://localhost/automationhub/public/install

    Follow the wizard. Default XAMPP MySQL credentials: host 127.0.0.1, port 3306, user root, password empty.

Pro Tip

On Windows, if PHP or Composer are not recognized in the command prompt, add XAMPP's PHP directory to your system PATH: C:\xampp\php. On macOS, you may need to use the full path: /Applications/XAMPP/bin/php.

Environment Configuration (.env)

After copying .env.example to .env, configure the following variables. The table below shows all available options grouped by category:

Application Settings

Variable Description Default Example
APP_NAMEApplication display nameAutomation HubAutomation Hub
APP_ENVEnvironment modeproductionlocal / production
APP_KEYEncryption key (auto-generated)base64:xxxx...
APP_DEBUGDebug modefalsetrue (dev only)
APP_URLFull application URLhttp://localhosthttps://yourdomain.com
APP_LOCALEDefault languageenen / es / fr / ar

Never set APP_DEBUG=true in production!

Debug mode exposes sensitive information including environment variables, database credentials, and stack traces. Always set APP_DEBUG=false and APP_ENV=production on production servers.

Database Settings

Variable Description Default Example
DB_CONNECTIONDatabase drivermysqlmysql
DB_HOSTDatabase server host127.0.0.1127.0.0.1
DB_PORTDatabase port33063306 / 8889 (MAMP)
DB_DATABASEDatabase nameautomation_hubautomation_hub
DB_USERNAMEDatabase userrootautomationhub_user
DB_PASSWORDDatabase passwordyour_secure_password

Mail Settings

Variable Description Default Example
MAIL_MAILERMail driversmtpsmtp / resend / log
MAIL_HOSTSMTP server127.0.0.1smtp.mailgun.org
MAIL_PORTSMTP port587587 (TLS) / 465 (SSL)
MAIL_USERNAMESMTP usernameyour_smtp_user
MAIL_PASSWORDSMTP passwordyour_smtp_password
MAIL_ENCRYPTIONEncryption methodtlstls / ssl
MAIL_FROM_ADDRESSSender emailnoreply@yourdomain.com
MAIL_FROM_NAMESender name${APP_NAME}Automation Hub

Queue, Session & Cache

Variable Description Default Production Recommended
QUEUE_CONNECTIONQueue driverdatabasedatabase (basic) / redis (high volume)
SESSION_DRIVERSession storagedatabasedatabase
CACHE_STORECache backenddatabasedatabase or redis
HASH_DRIVERHashing algorithmbcryptargon2id (recommended)

WebSocket (Reverb) Settings

Variable Description Default Example
REVERB_APP_IDReverb application IDauto-generated123456
REVERB_APP_KEYReverb app keyauto-generatedyour-reverb-key
REVERB_APP_SECRETReverb app secretauto-generatedyour-reverb-secret
REVERB_HOSTWebSocket hostlocalhostyourdomain.com
REVERB_PORTWebSocket port80808080
REVERB_SCHEMEWebSocket protocolhttphttps (production)

Captcha (Optional)

Automation Hub supports Cloudflare Turnstile and Google reCAPTCHA v3 to protect public forms from bots. Disabled by default.

VariableDescriptionDefaultExample
CAPTCHA_ENABLEDEnable captcha on auth formsfalsetrue
CAPTCHA_PROVIDERProvider to useturnstileturnstile / recaptcha
TURNSTILE_SITE_KEYCloudflare Turnstile site key0x4AAAAAAA...
TURNSTILE_SECRET_KEYCloudflare Turnstile secret key0x4AAAAAAA...
RECAPTCHA_SITE_KEYGoogle reCAPTCHA v3 site key6Lc...
RECAPTCHA_SECRET_KEYGoogle reCAPTCHA v3 secret key6Lc...

Which provider to choose?

Cloudflare Turnstile is recommended — it's free, privacy-friendly, GDPR-compliant, and doesn't require users to solve visual puzzles. Get your keys at Cloudflare Dashboard → Turnstile.

Queue Worker Setup

Automation Hub uses queues to process workflow executions, webhook deliveries, and background tasks asynchronously. A queue worker must be running for workflows to execute.

Development

bash
# Run the queue worker in the foreground (for development)
php artisan queue:work --queue=events,webhooks

Production (Supervisor)

In production, use Supervisor to keep the queue worker running permanently and restart it if it crashes.

bash
# Install Supervisor
sudo apt install -y supervisor

Create /etc/supervisor/conf.d/automationhub-worker.conf:

ini
[program:automationhub-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/automationhub/artisan queue:work database --queue=events,webhooks --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=2
redirect_stderr=true
stdout_logfile=/var/www/automationhub/storage/logs/worker.log
stopwaitsecs=3600
bash
# Start the worker
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start automationhub-worker:*

Restart Workers After Deployment

After deploying new code, always restart queue workers so they pick up the latest changes: sudo supervisorctl restart automationhub-worker:*

Cron / Scheduler Setup

Automation Hub's task scheduler handles recurring tasks. Add the following entry to your server's crontab:

bash
# Open crontab editor
crontab -e

# Add this line:
* * * * * cd /var/www/automationhub && php artisan schedule:run >> /dev/null 2>&1

The scheduler automatically runs the following tasks:

Command Frequency Description
workflow:scheduleEvery minuteTriggers scheduled workflows (cron-based and interval-based triggers)
cleanup:old-data --days=90Daily at 3:00 AMPrunes old execution logs, expired sessions, and temporary data

Auto-Installer (Web Wizard)

Automation Hub includes a built-in 5-step installation wizard accessible at https://yourdomain.com/install. This is the easiest way to set up the platform if you prefer a graphical interface over command-line installation.

1

System Requirements Check

The installer verifies your server meets all requirements: PHP version, required extensions, directory permissions, and system dependencies. All checks must pass before proceeding.

2

License Activation

Enter your purchase code (from CodeCanyon or your reseller) to activate your license. This validates your purchase and enables all features.

3

Database Configuration

Enter your database credentials (host, port, name, username, password). The installer tests the connection and runs all migrations automatically to create the required tables.

4

Admin User Creation

Create your first administrator account with name, email, and password. This account has full access to all platform features and settings.

5

Preferences

Configure initial settings: default language (English, Spanish, French, or Arabic), timezone, and optionally import demo data (sample workflows and templates) to explore the platform immediately.

Auto-Installer Prerequisite

Before accessing the web installer, you still need to upload the project files and run composer install to install PHP dependencies. The installer handles everything else (key generation, migrations, etc.).

Post-Installation Checklist

After completing the installation, verify everything is working correctly:

Check How to Verify Status
Site loads at your domainOpen https://yourdomain.com in your browserRequired
Admin login worksLog in with the credentials you createdRequired
Dashboard shows statsAfter login, verify the dashboard renders correctlyRequired
Queue worker is runningphp artisan queue:work --once (processes one job)Required
Cron is configuredphp artisan schedule:list (shows scheduled tasks)Required
Storage link worksUpload an avatar or logo — it should display correctlyRequired
Email delivery worksSettings > General > Send test emailRecommended
SSL configuredVerify https:// works with valid certificateRecommended

SSL with Let's Encrypt

For free SSL certificates, use Certbot: sudo certbot --nginx -d yourdomain.com. This automatically configures Nginx for HTTPS and sets up auto-renewal.

Frontend Assets Build

Automation Hub uses Vite to compile and bundle frontend assets (React, TypeScript, Tailwind CSS). Pre-compiled assets are included, but you can rebuild them if needed:

bash
# Install Node.js dependencies
npm ci

# Production build (optimized, minified)
npm run build

# Development mode with Hot Module Replacement
npm run dev
Command Purpose Output
npm ciClean install of dependencies (uses lockfile)node_modules/
npm run buildProduction build — minified and tree-shakenpublic/build/
npm run devDevelopment server with HMR at port 5173Live reload

Pre-built Assets Included

The distribution package includes pre-compiled production assets in public/build/. You only need to run npm run build if you modify frontend code or want to customize the UI.

Next Steps

Now that Automation Hub is installed and running, explore these resources:

Build Your First Workflow

Learn how to use the visual canvas editor to create event-driven automations.

Explore Templates

Import one of the 42 pre-built templates to get started quickly.

API Documentation

Integrate Automation Hub with your existing systems via the REST API.

System Configuration

Configure modules, API keys, notification channels, and advanced settings.