 ba8689fb82
			
		
	
	ba8689fb82
	
	
	
		
			
			* feat(README): add InterviewPal sponsorship link and corresponding SVG icon
* chore(versions): update coolify version to 4.0.0-beta.413 and nightly version to 4.0.0-beta.414 in configuration files
* fix(terminal): enhance WebSocket client verification with authorized IPs in terminal server
* chore(versions): update realtime version to 1.0.8 in versions.json
* chore(versions): update realtime version to 1.0.8 in versions.json
* chore(docker): update soketi image version to 1.0.8 in production configuration files
* chore(versions): update coolify version to 4.0.0-beta.414 and nightly version to 4.0.0-beta.415 in configuration files
* fix(ApplicationDeploymentJob): ensure source is an object before checking GitHub app properties
* fix(ui): Disable livewire navigate feature (causing spam of setInterval())
* fix(ui): Remove required attribute from image input in service application view
* fix(ui): Change application image validation to be nullable in service application view
* fix(Server): Correct proxy path formatting for Traefik proxy type
* chore(versions): update coolify version to 4.0.0-beta.416 and nightly version to 4.0.0-beta.417 in configuration files; fix links in deployment view
* feat(Service): Add functionality to convert between applications and databases in docker-compose based applications
fix(ui): Fix service layout refresh on compose change
* fix(service): graceful shutdown of old container (#5731)
* refactor(Database): streamline container shutdown process and reduce timeout duration
* fix(ServerCheck): enhance proxy container check to ensure it is running before proceeding
* chore(seeder): update git branch from 'main' to 'v4.x' for multiple examples in ApplicationSeeder
* fix(applications): include pull_request_id in deployment queue check to prevent duplicate deployments
* refactor(core): streamline container stopping process and reduce timeout duration; update related methods for consistency
* fix(database): update label for image input field to improve clarity
* feat(migration): add 'is_migrated' and 'custom_type' columns to service_applications and service_databases tables
* feat(backup): implement custom database type selection and enhance scheduled backups management
* fix(ServerCheck): set default proxy status to 'exited' to handle missing container state
* fix(database): reduce container stop timeout from 300 to 30 seconds for improved responsiveness
* refactor(database): update DB facade usage for consistency across service files
* Update app/Livewire/Project/Service/Database.php
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
* refactor(database): enhance application conversion logic and add existence checks for databases and applications
* refactor(actions): standardize method naming for network and configuration deletion across application and service classes
* refactor(logdrain): consolidate log drain stopping logic to reduce redundancy
* refactor(StandaloneMariadb): add type hint for destination method to improve code clarity
* refactor(DeleteResourceJob): streamline resource deletion logic and improve conditional checks for database types
* refactor(jobs): update middleware to prevent job release after expiration for CleanupInstanceStuffsJob, RestartProxyJob, and ServerCheckJob
* fix(ui): system theming for charts (#5740)
* chore(deps-dev): bump vite from 6.2.6 to 6.3.4 (#5743)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.2.6 to 6.3.4.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.3.4/packages/vite)
---
updated-dependencies:
- dependency-name: vite
  dependency-version: 6.3.4
  dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(dev): mount points?!
* fix(dev): proxy mount point
* fix(ui): allow adding scheduled backups for non-migrated databases
* fix(DatabaseBackupJob): escape PostgreSQL password in backup command (#5759)
* fix(ui): correct closing div tag in service index view
* Revert "fix(dev): mount points?!"
This reverts commit 365bf3cbf0.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: Jérémy <jeremy.derdaele@gmail.com>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Best Codes <106822363+The-Best-Codes@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: busybox <29630035+busybox11@users.noreply.github.com>
		
	
		
			
				
	
	
		
			127 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			127 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <nav wire:poll.10000ms="check_status">
 | |
|     <x-resources.breadcrumbs :resource="$application" :parameters="$parameters" :title="$lastDeploymentInfo" :lastDeploymentLink="$lastDeploymentLink" />
 | |
|     <div class="navbar-main">
 | |
|         <nav class="flex flex-shrink-0 gap-6 items-center whitespace-nowrap scrollbar min-h-10">
 | |
|             <a class="{{ request()->routeIs('project.application.configuration') ? 'dark:text-white' : '' }}"
 | |
|                 href="{{ route('project.application.configuration', $parameters) }}">
 | |
|                 Configuration
 | |
|             </a>
 | |
|             <a class="{{ request()->routeIs('project.application.deployment.index') ? 'dark:text-white' : '' }}"
 | |
|                 href="{{ route('project.application.deployment.index', $parameters) }}">
 | |
|                 <button>Deployments</button>
 | |
|             </a>
 | |
|             <a class="{{ request()->routeIs('project.application.logs') ? 'dark:text-white' : '' }}"
 | |
|                 href="{{ route('project.application.logs', $parameters) }}">
 | |
|                 <button>Logs</button>
 | |
|             </a>
 | |
|             @if (!$application->destination->server->isSwarm())
 | |
|                 <a class="{{ request()->routeIs('project.application.command') ? 'dark:text-white' : '' }}"
 | |
|                     href="{{ route('project.application.command', $parameters) }}">
 | |
|                     <button>Terminal</button>
 | |
|                 </a>
 | |
|             @endif
 | |
|             <x-applications.links :application="$application" />
 | |
|         </nav>
 | |
|         <div class="flex flex-wrap gap-2 items-center">
 | |
|             @if ($application->build_pack === 'dockercompose' && is_null($application->docker_compose_raw))
 | |
|                 <div>Please load a Compose file.</div>
 | |
|             @else
 | |
|                 @if (!$application->destination->server->isSwarm())
 | |
|                     <div>
 | |
|                         <x-applications.advanced :application="$application" />
 | |
|                     </div>
 | |
|                 @endif
 | |
|                 <div class="flex flex-wrap gap-2">
 | |
|                     @if (!str($application->status)->startsWith('exited'))
 | |
|                         @if (!$application->destination->server->isSwarm())
 | |
|                             <x-forms.button title="With rolling update if possible" wire:click='deploy'>
 | |
|                                 <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 dark:text-orange-400"
 | |
|                                     viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none"
 | |
|                                     stroke-linecap="round" stroke-linejoin="round">
 | |
|                                     <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
 | |
|                                     <path
 | |
|                                         d="M10.09 4.01l.496 -.495a2 2 0 0 1 2.828 0l7.071 7.07a2 2 0 0 1 0 2.83l-7.07 7.07a2 2 0 0 1 -2.83 0l-7.07 -7.07a2 2 0 0 1 0 -2.83l3.535 -3.535h-3.988">
 | |
|                                     </path>
 | |
|                                     <path d="M7.05 11.038v-3.988"></path>
 | |
|                                 </svg>
 | |
|                                 Redeploy
 | |
|                             </x-forms.button>
 | |
|                         @endif
 | |
|                         @if ($application->build_pack !== 'dockercompose')
 | |
|                             @if ($application->destination->server->isSwarm())
 | |
|                                 <x-forms.button title="Redeploy Swarm Service (rolling update)" wire:click='deploy'>
 | |
|                                     <svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24"
 | |
|                                         xmlns="http://www.w3.org/2000/svg">
 | |
|                                         <g fill="none" stroke="currentColor" stroke-linecap="round"
 | |
|                                             stroke-linejoin="round" stroke-width="2">
 | |
|                                             <path
 | |
|                                                 d="M19.933 13.041a8 8 0 1 1-9.925-8.788c3.899-1 7.935 1.007 9.425 4.747" />
 | |
|                                             <path d="M20 4v5h-5" />
 | |
|                                         </g>
 | |
|                                     </svg>
 | |
|                                     Update Service
 | |
|                                 </x-forms.button>
 | |
|                             @else
 | |
|                                 <x-forms.button title="Restart without rebuilding" wire:click='restart'>
 | |
|                                     <svg class="w-5 h-5 dark:text-warning" viewBox="0 0 24 24"
 | |
|                                         xmlns="http://www.w3.org/2000/svg">
 | |
|                                         <g fill="none" stroke="currentColor" stroke-linecap="round"
 | |
|                                             stroke-linejoin="round" stroke-width="2">
 | |
|                                             <path
 | |
|                                                 d="M19.933 13.041a8 8 0 1 1-9.925-8.788c3.899-1 7.935 1.007 9.425 4.747" />
 | |
|                                             <path d="M20 4v5h-5" />
 | |
|                                         </g>
 | |
|                                     </svg>
 | |
|                                     Restart
 | |
|                                 </x-forms.button>
 | |
|                             @endif
 | |
|                         @endif
 | |
|                         <x-modal-confirmation title="Confirm Application Stopping?" buttonTitle="Stop"
 | |
|                             submitAction="stop" :checkboxes="$checkboxes" :actions="[
 | |
|                                 'This application will be stopped.',
 | |
|                                 'All non-persistent data of this application will be deleted.',
 | |
|                             ]" :confirmWithText="false" :confirmWithPassword="false"
 | |
|                             step1ButtonText="Continue" step2ButtonText="Confirm" :dispatchEvent="true"
 | |
|                             dispatchEventType="stopEvent">
 | |
|                             <x-slot:button-title>
 | |
|                                 <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 text-error" viewBox="0 0 24 24"
 | |
|                                     stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round"
 | |
|                                     stroke-linejoin="round">
 | |
|                                     <path stroke="none" d="M0 0h24v24H0z" fill="none"></path>
 | |
|                                     <path
 | |
|                                         d="M6 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z">
 | |
|                                     </path>
 | |
|                                     <path
 | |
|                                         d="M14 5m0 1a1 1 0 0 1 1 -1h2a1 1 0 0 1 1 1v12a1 1 0 0 1 -1 1h-2a1 1 0 0 1 -1 -1z">
 | |
|                                     </path>
 | |
|                                 </svg>
 | |
|                                 Stop
 | |
|                             </x-slot:button-title>
 | |
|                         </x-modal-confirmation>
 | |
|                     @else
 | |
|                         <x-forms.button wire:click='deploy'>
 | |
|                             <svg xmlns="http://www.w3.org/2000/svg" class="w-5 h-5 dark:text-warning"
 | |
|                                 viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none"
 | |
|                                 stroke-linecap="round" stroke-linejoin="round">
 | |
|                                 <path stroke="none" d="M0 0h24v24H0z" fill="none" />
 | |
|                                 <path d="M7 4v16l13 -8z" />
 | |
|                             </svg>
 | |
|                             Deploy
 | |
|                         </x-forms.button>
 | |
|                     @endif
 | |
|                 </div>
 | |
|             @endif
 | |
|         </div>
 | |
| 
 | |
|     </div>
 | |
|     @script
 | |
|         <script>
 | |
|             $wire.$on('stopEvent', () => {
 | |
|                 $wire.$dispatch('info',
 | |
|                     'Gracefully stopping application, it could take a while depending on the application.');
 | |
|                 $wire.$call('stop');
 | |
|             });
 | |
|         </script>
 | |
|     @endscript
 | |
| </nav>
 |