Application Installer - {{ $account->username }} Application Installer
@if(session('error'))

{{ session('error') }}

@endif @php $sslProvisioningSites = $account->sites->filter(fn($site) => $site->ssl_status === 'provisioning'); @endphp @if($sslProvisioningSites->isNotEmpty())

SSL Certificate Provisioning

SSL certificates are being provisioned for {{ $sslProvisioningSites->pluck('domain')->join(', ') }}. Please wait until this completes before installing applications. This usually takes 1-2 minutes.

@endif {{-- Active Installations In Progress (at top for visibility) --}} @php $pendingInstallations = \App\Models\AppInstallation::whereIn('hosted_site_id', $account->sites->pluck('id')) ->where('status', 'installing') ->with('site') ->get(); @endphp @if($pendingInstallations->count() > 0)
@endif {{-- Failed Installations --}} @php $failedInstallations = \App\Models\AppInstallation::whereIn('hosted_site_id', $account->sites->pluck('id')) ->where('status', 'failed') ->with('site') ->get(); @endphp @if($failedInstallations->count() > 0)

Failed Installations

@foreach($failedInstallations as $failed)
{{ ucfirst($failed->app_type) }}

{{ ucfirst($failed->app_type) }} on {{ $failed->site->domain }}

{{ $failed->error_message ?: 'Installation failed. Please try again.' }}

@csrf
@endforeach
@endif @if(!empty($isWordPressPlan)) {{-- WordPress-Only Installer --}}
@include('partials.wordpress-icon', ['class' => 'h-10 w-10'])

Install WordPress

Your hosting plan is optimised for WordPress. Install it in one click with a database and admin credentials set up automatically.

@csrf
@if($account->sites->count() > 0) @else

You need to add a domain first.

@endif

Install in a subfolder instead of the domain root.

@else {{-- Available Applications - Modern Grid --}}

Available Applications

One-click installation for popular CMS platforms and frameworks.

@foreach($availableApps as $app)
{{ $app['name'] }}

{{ $app['name'] }}

{{ $app['description'] }}

{{ ucfirst($app['category']) }} @if(in_array($app['id'], ['wordpress', 'joomla', 'drupal', 'opencart', 'magento', 'laravel'])) PHP @elseif($app['id'] === 'nodejs') JavaScript @elseif($app['id'] === 'python') Python @endif
@endforeach
{{-- Install Application Form --}}

Install New Application

CMS applications automatically provision a database and generate admin credentials.

@csrf
@if($account->sites->count() > 0) @else

You need to add a domain first.

@endif
{{-- PHP Version Selector (only for PHP apps) --}}

Magento requires PHP 8.1, 8.2, or 8.3 Select the PHP version for your application. Most apps work best with PHP 8.3 or 8.4.

Install in a subfolder instead of the domain root.

@endif {{-- Current Installations --}} @php $installedSites = $account->sites->filter(fn($site) => $site->installed_app)->load('appInstallation'); @endphp @if($installedSites->count() > 0)

Current Installations

View your application credentials and access details below.

@foreach($installedSites as $site)
{{ ucfirst($site->installed_app) }}

{{ ucfirst($site->installed_app) }}

{{ $site->domain }}

@if($site->installed_app_version) v{{ $site->installed_app_version }} @endif Active Visit Site → @if($site->appInstallation) @endif
{{-- Credentials Panel --}} @if($site->appInstallation)
{{-- Admin Credentials --}}

Admin Access

{{ $site->appInstallation->admin_username }}
@if($site->appInstallation->admin_password)
@else

Use the application's password reset if needed

@endif
{{-- Database Credentials --}} @if($site->appInstallation->database_name)

Database Access

{{ $site->appInstallation->database_name }}
{{ $site->appInstallation->database_username }}
@if($site->appInstallation->database_password)
@else

Not available

@endif
@endif

Keep these credentials secure. We recommend changing your password after first login.

@endif
@endforeach
@endif
@push('scripts') @endpush