Stu Mason
Stu Mason

Activity

Issue Resolved

Issue #34 closed: Missing dist folder - Dashboard shows blank white screen

Bug Description

After installing the package with php artisan coolify:install, the dashboard at /coolify/dashboard shows a blank white screen.

Root Cause

The dist folder containing the built Vue SPA assets is not included in the published package.

In CoolifyServiceProvider.php, the assets are supposed to be published from:

$this->publishes([
    __DIR__.'/../dist' => public_path('vendor/coolify'),
], 'coolify-assets');

However, the dist folder doesn't exist in the package. The spa.blade.php view checks for these files:

@if(file_exists(public_path('vendor/coolify/app.css')))
    <link rel="stylesheet" href="{{ asset('vendor/coolify/app.css') }}">
@endif
...
@if(file_exists(public_path('vendor/coolify/app.js')))
    <script type="module" src="{{ asset('vendor/coolify/app.js') }}"></script>
@endif

Since the files don't exist, no CSS or JS is loaded, and the Vue app never mounts - resulting in a blank page.

Expected Behavior

The dist folder with pre-built app.js and app.css should be included in the composer package, so that php artisan vendor:publish --tag=coolify-assets (or the install command) properly publishes the dashboard assets.

Suggested Fix

  1. Add npm run build to the release workflow
  2. Ensure dist/ is not in .gitignore
  3. Include the built assets in the package

Or alternatively, the install command should build the assets if they don't exist.