{{ data_get_str($service, 'name')->limit(10) }} > Configuration | Coolify @php $serviceRouteParameters = [ 'project_uuid' => $project->uuid, 'environment_uuid' => $environment->uuid, 'service_uuid' => $service->uuid, ]; $configurationItems = collect([ ['label' => 'General', 'route' => 'project.service.configuration', 'icon' => 'settings'], ['label' => 'Domains', 'route' => 'project.service.domains', 'icon' => 'globe'], ['label' => 'Environment Variables', 'route' => 'project.service.environment-variables', 'icon' => 'variables'], ['label' => 'Persistent Storage', 'route' => 'project.service.storages', 'icon' => 'storages'], ['label' => 'Backups', 'route' => 'project.service.volume-backups.index', 'icon' => 'database'], ['label' => 'Runtime', 'route' => 'project.service.logs', 'icon' => 'unordered-list', 'navigate' => false], ['label' => 'Terminal', 'route' => 'project.service.command', 'icon' => 'browser-terminal', 'navigate' => false, 'visible' => auth()->user()?->can('canAccessTerminal')], ['label' => 'Scheduled Tasks', 'route' => 'project.service.scheduled-tasks.show', 'icon' => 'calendar'], ['label' => 'Webhooks', 'route' => 'project.service.webhooks', 'icon' => 'notifications'], ['label' => 'Resource Operations', 'route' => 'project.service.resource-operations', 'icon' => 'server-update'], ['label' => 'Tags', 'route' => 'project.service.tags', 'icon' => 'tags'], ['label' => 'Danger Zone', 'route' => 'project.service.danger', 'icon' => 'shield-alert'], ])->filter(fn (array $item): bool => $item['visible'] ?? true)->map(fn (array $item): array => [ ...$item, 'active' => $currentRoute === $item['route'] || ($item['route'] === 'project.service.scheduled-tasks.show' && str($currentRoute)->startsWith('project.service.scheduled-tasks')), ]); $menuGroups = [ 'Settings' => ['General', 'Domains', 'Environment Variables', 'Persistent Storage', 'Backups'], 'Automation' => ['Scheduled Tasks', 'Webhooks'], 'Logs' => ['Runtime'], 'Operations' => ['Terminal', 'Resource Operations', 'Tags', 'Danger Zone'], ]; $groupedItems = collect($menuGroups) ->map(fn (array $labels) => $configurationItems->whereIn('label', $labels)->values()) ->filter(fn ($items) => $items->isNotEmpty()); $storageSections = $applications ->concat($databases) ->map(fn ($resource): array => [ 'id' => 'storage-service-'.$resource->uuid, 'label' => Str::headline($resource->name), ]); @endphp
@if ($currentRoute === 'project.service.configuration')

Compose resources

Applications and databases defined in this service.

@if ($applications->isNotEmpty() || $databases->isNotEmpty())
Resource
Status
@endif @if ($applications->isEmpty() && $databases->isEmpty())
@endif @foreach ($applications as $application) @endforeach @foreach ($databases as $database) @endforeach
@elseif ($currentRoute === 'project.service.domains') @elseif ($currentRoute === 'project.service.environment-variables') @elseif ($currentRoute === 'project.service.storages')
Service volume mounts are read-only here. Edit the Docker Compose file and reload it to change volumes.
@foreach ($applications as $application) @endforeach @foreach ($databases as $database) @endforeach
@elseif ($currentRoute === 'project.service.scheduled-tasks.show') @elseif ($currentRoute === 'project.service.scheduled-tasks') @elseif ($currentRoute === 'project.service.webhooks') @elseif ($currentRoute === 'project.service.resource-operations') @elseif ($currentRoute === 'project.service.tags') @elseif ($currentRoute === 'project.service.danger') @endif