Overview
This quick start guide will help you deploy GB App using Docker, configure the database, and log in for the first time.Clone and Setup Environment
Download and unzip the project, then copy the environment variables file: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
Build and Start Docker Containers
Build the Docker container:Start the containers in detached mode: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)
Configure Database Connection
Edit your
.env file with your database credentials:If using the included Docker MySQL container, keep
DB_HOST=db as it references the database service name in docker-compose.yml.Run Database Migrations
Clear the application cache after modifying Run migrations and seed the database to create the super admin:This creates all necessary tables including:
.env:users- User accountsreports- Power BI reportsrolesandpermissions- Spatie permission tablesuser_reports- Report assignmentssessions- User sessions
Access the Application
Open your browser and navigate to:Or if deployed on a server:
The application is served on port
80 by default. You can modify this in docker-compose.yml by changing the nginx ports mapping.Next Steps
Now that your application is running:- Configure Power BI API credentials to import reports
- Set up LDAP integration for Active Directory authentication
- Create users and assign roles
- Import Power BI reports
Troubleshooting
Container build fails during apt-get update
Container build fails during apt-get update
If you encounter errors while building the container, try adding these commands to the Dockerfile:
Permission denied errors
Permission denied errors
Make sure you’ve set the correct permissions on storage and cache directories as shown in Step 3.
Cannot connect to database
Cannot connect to database
Verify that:
- The database container is running:
docker compose ps - Database credentials in
.envmatch the container environment variables - You’ve run
php artisan optimizeafter changing.env