Skip to main content

Installation

This guide will walk you through the process of installing Zuora Workflow Manager using Lando.

Prerequisites

Make sure you have installed all system requirements before proceeding.

Step 1: Clone the repository

Clone the GitHub repository to your local system:
git clone https://github.com/FrancoStino/zuora-workflows.git
cd zuora-workflows
If you want to use the develop branch:
git clone -b develop https://github.com/FrancoStino/zuora-workflows.git
cd zuora-workflows

Step 2: Start Lando

Start the Lando environment. This command will automatically download and configure all necessary containers:
lando start
The first start may take several minutes to download the required Docker images.
Lando will automatically execute:
  • Start containers (PHP 8.4, MariaDB 11.4, Nginx, Redis)
  • Run composer install
  • Configure development environment
Expected output:
BOOMSHAKALAKA!!!

Your app has started up correctly.
Here are some vitals:

 NAME            zuora-workflows
 LOCATION        /path/to/zuora-workflows
 SERVICES        appserver, database, cache
 APPSERVER URLS  https://zuora-workflows.lndo.site

Step 3: Environment configuration

Copy the environment variables example file:
cp .env.example .env
Generate the Laravel application key:
lando artisan key:generate

Step 4: Database configuration

Run migrations to create database tables:
lando artisan migrate
Expected output:
Migration table created successfully.
Migrating: 0001_01_01_000000_create_users_table
Migrated:  0001_01_01_000000_create_users_table
...
If you receive database connection errors, make sure Lando is started correctly with lando info.

Step 5: Install frontend dependencies

Install frontend dependencies with Yarn. You have two options: Option 1: Use Yarn via Lando (recommended) This ensures all developers use the same Yarn version and works consistently across all operating systems:
lando yarn install
Option 2: Use Yarn globally If you prefer to use Yarn installed locally on your system:
yarn install
Compile frontend assets:
yarn run build
For development with hot-reload:
yarn run dev

Step 6: Access the application

Open your browser and navigate to:
https://zuora-workflows.lndo.site
Lando uses HTTPS with self-signed certificates. Your browser may show a security warning. Proceed anyway to access the application.

Step 7: Create administrator account

On first access, you will be redirected to the setup page where you can create your administrator account:
  1. Enter Name
  2. Enter Email
  3. Enter Password (minimum 8 characters)
  4. Confirm password
  5. Click Create Admin Account

Step 8: Start queue worker (optional)

To process background jobs, start the queue worker:
lando queue
This command is equivalent to:
lando artisan queue:work --verbose
Leave the queue worker running in a separate terminal window during development.

Step 9: Start scheduler (optional)

To enable scheduled automatic synchronization:
lando schedule
This command is equivalent to:
lando artisan schedule:work

Verify installation

Verify Lando services

Check that all services are active:
lando info
Expected output:
{
  "appserver": {
    "type": "php:8.4",
    "urls": ["https://zuora-workflows.lndo.site"]
  },
  "database": {
    "type": "mariadb:11.4",
    "creds": {
      "database": "zuora_workflows",
      "user": "zuora_workflows",
      "password": "zuora_workflows"
    }
  },
  "cache": {
    "type": "redis:7.0"
  }
}

Verify database

Access the database to verify tables:
lando mariadb
Run verification query:
SHOW TABLES;
SELECT COUNT(*) FROM users;

Verify application

Visit the application URL and verify:
  • ✅ Login page loads correctly
  • ✅ You can login with admin account
  • ✅ Filament dashboard is accessible
  • ✅ Menu items are visible

Useful Lando commands

Application management

lando start          # Start containers
lando stop           # Stop containers
lando restart        # Restart containers
lando rebuild        # Rebuild containers
lando destroy        # Delete containers

Artisan commands

lando artisan migrate              # Run migrations
lando artisan migrate:fresh        # Recreate database
lando artisan migrate:fresh --seed # Recreate and seed database
lando artisan tinker               # Interactive REPL

Database

lando mariadb                      # Access database
lando mariadb zuora_workflows      # Access with specific database

Queue and scheduler

lando queue                        # Start queue worker
lando schedule                     # Start scheduler

Logs

lando logs -f                      # View all logs
lando logs -s appserver -f         # PHP container logs

Yarn commands via Lando

You can use Yarn through Lando to ensure consistent behavior across all team members and operating systems. Benefits of using Lando Yarn:
  • Consistent version: All developers use the same Yarn version
  • Cross-platform: Works identically on macOS, Windows, and Linux
  • Isolated: No need to install Yarn globally on your system
  • No conflicts: Avoids version conflicts with other projects
Available Yarn commands:
lando yarn install                 # Install frontend dependencies
lando yarn run build               # Compile assets for production
lando yarn run dev                 # Development with hot-reload (HMR)
lando yarn run preview             # Preview production build
Usage example:
# Install dependencies
lando yarn install

# Start development server with hot-reload
lando yarn run dev

# Build for production
lando yarn run build
For new contributors, using lando yarn is recommended as it guarantees the same environment as other team members.

Composer

lando composer install             # Install PHP dependencies
lando composer update              # Update PHP dependencies

Troubleshooting

Error: “Cannot connect to database”

Verify that the database is started:
lando info
Restart Lando if necessary:
lando restart

Error: “Permission denied”

On Linux, you may need to adjust permissions:
sudo chown -R $USER:$USER .

Error: “Port already in use”

If port 443 is already in use, modify .lando.yml:
proxy:
  appserver:
    - zuora-workflows.lndo.site:8443

Cache issues

Clear application cache:
lando artisan cache:clear
lando artisan config:clear
lando artisan view:clear

Next steps

Now that installation is complete, proceed with configuration:

Configuration

Configure the application and Zuora credentials