Deploying ElmapiCMS on Laravel Cloud

Deploying ElmapiCMS on Laravel Cloud

Laravel Cloud is an official platform by the Laravel team that simplifies deployment, scaling, and managing Laravel applications in production. It's tightly integrated with the Laravel ecosystem and ideal for hosting ElmapiCMS with minimal configuration.

In this guide, you'll learn how to deploy ElmapiCMS to Laravel Cloud in a few straightforward steps—from project setup to production deployment—so you can launch your CMS quickly and reliably.

For more information you can visit the Laravel Cloud Documentation.

1. Prerequisites

Before you begin, ensure you have:

  • A Laravel Cloud account (Laravel Cloud)
  • A Git repository Laravel Cloud can deploy from (see below)

2. Prepare a Git repository

CodeCanyon buyers start from Elmapi3.zip—see Installation → CodeCanyon or CodeCanyon or GitHub?.

GitHub buyers: see Deployment overview for the fork rule before connecting Laravel Cloud.

GitHub (fork, then connect your fork)

You must not point Laravel Cloud at the vendor private repository you were invited to. Fork that repository into your GitHub account, then in Laravel Cloud select your fork as the application source. Choose the branch you deploy from (often main or the default branch on your fork).

Keep your fork up to date when new versions ship (for example by syncing from the upstream repository or merging release tags), using whatever workflow you prefer on GitHub.

CodeCanyon (first-time Git from ZIP)

  1. Download ElmapiCMS v3 from CodeCanyon and unzip Elmapi3.zip.
  2. Go to the project directory:
    cd Elmapi3
  3. Initialize a new Git repository if you have not already:
    git init
  4. Add your empty remote (GitHub, GitLab, or Bitbucket—create the repo in your provider first):
    git remote add origin https://github.com/your-username/your-repository.git
  5. Add and commit all files:
    git add .
    git commit -m "Initial commit for Laravel Cloud deployment"
  6. Push to the default branch (for example main):
    git push -u origin main

3. Laravel Cloud Setup

Create a New Application

  1. Log in to your Laravel Cloud dashboard
  2. Click "+ New Application"
  3. Choose your git provider
  4. Give access to your git account
  5. Select the repository you want to deploy
  6. Give your application a name
  7. Choose your region
  8. Click "New Application"

Create a New Application

4. Add Database

  1. In Environments Page find "Add Database" and click on it.
  2. Customize your database settings and click "Create Database Cluster"

Add Database

Click "Save Only" to save the configuration without triggering an automatic deployment.

Add Database

5. Add Bucket for File Storage

  1. In Environments Page find "Add Bucket" and click on it.
  2. Click "Create a Bucket"
  3. Select "Public" in the Visibility section.
  4. Customize your bucket settings and click "Create Bucket"

Add Bucket

  1. In the next window "Disk name" should be "public"
  2. Click "Add Bucket"

Add Bucket

Click "Save Only" to save the configuration without triggering an automatic deployment.

Save Bucket Configuration

6. Deploy Application

In Environments Page find "deployments" section and click on "Deploy".

Laravel Cloud will handle the deployment automatically. Wait for it to complete.

Deploy Application

If the deployment fails, check the Logs section for error output or misconfiguration.

7. Migrate and Seed Database

  1. Go to Commands Section.
  2. Type php artisan migrate --seed --force and click on "Run Command"

Migrate and Seed Database

If you see a warning message about "Hibernation", click "Wake Application" text. Learn more about Hibernation.

8. Visit Your Application

  1. Go to Environments Page.
  2. Laravel Cloud will assign an URL, go to the URL and you will see your application.

9. Login

When seeding the database, an admin account is created. You can log in to your account using the following credentials:

Email:

[email protected]

Password:

password

Remember to change your email and password after login.

10. Webhook Setup

To ensure webhooks are sent, you must configure a Worker process in Laravel Cloud to handle the queue.

  1. From your Environment page in Laravel Cloud, click on Workers.
  2. Click Add Worker.
  3. Configure the worker with the following settings:
    • Connection: database (or redis if you have it configured).
    • Queue: default
    • Processes: 1
    • Daemon: Keep this box checked. This runs the queue:work command continuously.
  4. Click Add Worker.

Laravel Cloud will now automatically manage your queue worker. For more details on queue drivers, see the Configuring Queues for Webhooks guide.

Next step

Search documentation

Find guides and reference pages