Skip to main content

Overview

This quick start guide will help you deploy GB App using Docker, configure the database, and log in for the first time.
1

Clone and Setup Environment

Download and unzip the project, then copy the environment variables file:
cp .env.example .env
The .env.example file contains all necessary configuration options for:
  • Application settings (APP_NAME, APP_URL)
  • Database connections (MySQL/SQL Server)
  • Power BI API credentials
  • LDAP integration
  • Mail configuration
2

Build and Start Docker Containers

Build the Docker container:
docker compose build
Start the containers in detached mode:
docker compose up -d
This will start three services:
  • gb-app-webserver (Nginx on port 80)
  • gb-app-php (PHP 8.2 with Laravel)
  • gb-app-db (MySQL 5.7)
3

Set Permissions

Ensure correct permissions for Laravel storage and cache directories:
docker compose exec app chmod -R 775 /var/www/html/storage
docker compose exec app chmod -R 775 /var/www/html/bootstrap/cache
docker compose exec app chown -R www-data:www-data /var/www/html/storage
docker compose exec app chown -R www-data:www-data /var/www/html/bootstrap/cache
4

Install Dependencies

Install PHP dependencies with Composer:
docker compose exec app composer install
Install Node.js dependencies:
docker compose exec app npm install
5

Configure Database Connection

Edit your .env file with your database credentials:
DB_CONNECTION=mysql
DB_HOST=db
DB_PORT=3306
DB_DATABASE=GBapp
DB_USERNAME=root
DB_PASSWORD=passwordr
If using the included Docker MySQL container, keep DB_HOST=db as it references the database service name in docker-compose.yml.
6

Run Database Migrations

Clear the application cache after modifying .env:
docker compose exec app php artisan optimize
Run migrations and seed the database to create the super admin:
docker compose exec app php artisan migrate --seed
This creates all necessary tables including:
  • users - User accounts
  • reports - Power BI reports
  • roles and permissions - Spatie permission tables
  • user_reports - Report assignments
  • sessions - User sessions
7

Build Frontend Assets

Compile the Vue.js frontend:
docker compose exec app npm run build
8

Access the Application

Open your browser and navigate to:
http://localhost
Or if deployed on a server:
http://{SERVER_IP}
The application is served on port 80 by default. You can modify this in docker-compose.yml by changing the nginx ports mapping.
9

First Login

After running migrations with seed, a default super admin account is created. Check your database seeder for the default credentials.The login page accepts either:
  • Username
  • Email address
After successful login, you’ll be redirected to the dashboard at /dashboard.

Next Steps

Now that your application is running:

Troubleshooting

If you encounter errors while building the container, try adding these commands to the Dockerfile:
sudo GNUTLS_CPUID_OVERRIDE=0x1 apt-get update
export GNUTLS_CPUID_OVERRIDE=0x1
Make sure you’ve set the correct permissions on storage and cache directories as shown in Step 3.
Verify that:
  1. The database container is running: docker compose ps
  2. Database credentials in .env match the container environment variables
  3. You’ve run php artisan optimize after changing .env

Build docs developers (and LLMs) love