wip
This commit is contained in:
parent
982f5beaf5
commit
931664c0c0
@ -3,12 +3,14 @@
|
||||
namespace App\Actions\Proxy;
|
||||
|
||||
use App\Enums\ActivityTypes;
|
||||
use App\Enums\ProxyTypes;
|
||||
use App\Models\Server;
|
||||
use Spatie\Activitylog\Models\Activity;
|
||||
use Symfony\Component\Yaml\Yaml;
|
||||
|
||||
class InstallProxy
|
||||
{
|
||||
public function __invoke(Server $server)
|
||||
public function __invoke(Server $server): Activity
|
||||
{
|
||||
$docker_compose_yml_base64 = base64_encode(
|
||||
$this->getDockerComposeContents()
|
||||
@ -30,6 +32,10 @@ public function __invoke(Server $server)
|
||||
'docker ps',
|
||||
], $server, ActivityTypes::INLINE->value);
|
||||
|
||||
// Persist to Database
|
||||
$server->extra_attributes->proxy = ProxyTypes::TRAEFIK_V2->value;
|
||||
$server->save();
|
||||
|
||||
return $activity;
|
||||
}
|
||||
|
||||
@ -47,8 +53,6 @@ protected function getComposeData(): array
|
||||
? config('proxy.project_path_on_host') . '/_testing_hosts/host_2_proxy'
|
||||
: '.';
|
||||
|
||||
ray($cwd);
|
||||
|
||||
return [
|
||||
"version" => "3.7",
|
||||
"networks" => [
|
||||
|
@ -13,6 +13,11 @@ class Proxy extends Component
|
||||
|
||||
protected string $selectedProxy = '';
|
||||
|
||||
public $is_proxy_installed;
|
||||
|
||||
public $is_check_proxy_complete = false;
|
||||
public $is_proxy_settings_in_sync = false;
|
||||
|
||||
public function mount(Server $server)
|
||||
{
|
||||
$this->server = $server;
|
||||
@ -25,6 +30,14 @@ public function runInstallProxy()
|
||||
$this->emit('newMonitorActivity', $activity->id);
|
||||
}
|
||||
|
||||
public function checkProxySettingsInSync()
|
||||
{
|
||||
|
||||
|
||||
$this->is_check_proxy_complete = true;
|
||||
$this->is_proxy_settings_in_sync = true;
|
||||
}
|
||||
|
||||
public function render()
|
||||
{
|
||||
return view('livewire.server.proxy');
|
||||
|
@ -5,4 +5,9 @@ RUN apt-get -y autoremove \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /usr/share/doc/*
|
||||
|
||||
RUN echo "alias ll='ls -al'" >> /etc/bash.bashrc
|
||||
RUN echo "alias a='php artisan'" >> /etc/bash.bashrc
|
||||
RUN echo "alias mfs='php artisan migrate:fresh --seed'" >> /etc/bash.bashrc
|
||||
RUN echo "alias cda='composer dump-autoload'" >> /etc/bash.bashrc
|
||||
|
||||
# COPY --chmod=755 docker/dev-ssu/etc/s6-overlay/ /etc/s6-overlay/
|
||||
|
12
resources/views/livewire/server/_proxy/loading.blade.php
Normal file
12
resources/views/livewire/server/_proxy/loading.blade.php
Normal file
@ -0,0 +1,12 @@
|
||||
<div class="absolute w-full h-full bg-sky-600 rounded-lg">
|
||||
<div class="w-full mt-32 text-center animate-pulse">
|
||||
Loading
|
||||
</div>
|
||||
<div class="mt-20 w-full flex justify-center">
|
||||
<span class="relative flex h-28 w-28">
|
||||
<span
|
||||
class="animate-ping absolute inline-flex h-full w-full rounded-full bg-sky-400 opacity-75"></span>
|
||||
<span class="relative inline-flex rounded-full h-28 w-28 bg-sky-500"></span>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
48
resources/views/livewire/server/_proxy/options.blade.php
Normal file
48
resources/views/livewire/server/_proxy/options.blade.php
Normal file
@ -0,0 +1,48 @@
|
||||
|
||||
<div class="mt-4">
|
||||
<label>
|
||||
<div>Edit config file</div>
|
||||
<textarea cols="45" rows="25"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<label>
|
||||
Enable dashboard?
|
||||
<input type="checkbox" />
|
||||
(auto-save)
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<a href="#">Visit Dashboard</a>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<label>
|
||||
<div>Setup hostname for Dashboard</div>
|
||||
<div class="mt-2"></div>
|
||||
<label>
|
||||
<div>Hostname <span class="text-xs"> Eg: dashboard.example.com </span></div>
|
||||
<input type="text" />
|
||||
</label>
|
||||
<button>Update</button>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<label>
|
||||
<div>Dashboard credentials</div>
|
||||
<div class="mt-2"></div>
|
||||
<label>
|
||||
Username
|
||||
<input type="text" />
|
||||
</label>
|
||||
<label>
|
||||
Password
|
||||
<input type="password" />
|
||||
</label>
|
||||
<button>Update</button>
|
||||
</label>
|
||||
</div>
|
||||
|
@ -0,0 +1,5 @@
|
||||
<div class="absolute w-full h-full bg-orange-700 rounded-lg">
|
||||
<div class="w-full mt-32 text-center animate-pulse">
|
||||
Problems!
|
||||
</div>
|
||||
</div>
|
@ -2,20 +2,29 @@
|
||||
<h2> Proxy </h2>
|
||||
|
||||
@if($this->server->extra_attributes->proxy)
|
||||
<div class="mt-12">
|
||||
<div class="mt-6">
|
||||
<div>
|
||||
Proxy type: {{ $this->server->extra_attributes->proxy }}
|
||||
</div>
|
||||
<div class="mt-12"> Features in W11.</div>
|
||||
<ul>
|
||||
<li>Edit config file</li>
|
||||
<li>Enable dashboard (blocking port by firewall)</li>
|
||||
<li>Dashboard access - login/password</li>
|
||||
<li>Setup host for Traefik Dashboard</li>
|
||||
<li>Visit (nav to traefik dashboard)</li>
|
||||
</ul>
|
||||
|
||||
<div id="proxy_options" x-init="$wire.checkProxySettingsInSync()" class="relative w-fit">
|
||||
|
||||
{{-- Proxy is being checked against DB information --}}
|
||||
@if(! $this->is_check_proxy_complete)
|
||||
@include('livewire.server._proxy.loading')
|
||||
@endif
|
||||
|
||||
@if($this->is_check_proxy_complete && (! $this->is_proxy_settings_in_sync) )
|
||||
@include('livewire.server._proxy.problems')
|
||||
@endif
|
||||
|
||||
@include('livewire.server._proxy.options')
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@else
|
||||
{{-- There is no Proxy installed --}}
|
||||
|
||||
No proxy installed.
|
||||
<select wire:model="selectedProxy">
|
||||
<option value="{{ \App\Enums\ProxyTypes::TRAEFIK_V2 }}">
|
||||
|
@ -14,7 +14,6 @@
|
||||
<p>Network: {{ data_get($docker, 'network') }}</p>
|
||||
@endforeach
|
||||
@endif
|
||||
<h1> {{ $server->name }}</h1>
|
||||
|
||||
<livewire:server.proxy :server="$server"/>
|
||||
</x-layout>
|
||||
|
@ -35,6 +35,9 @@ function schedule-run {
|
||||
function reset-db {
|
||||
bash vendor/bin/spin exec -u webuser coolify php artisan migrate:fresh --seed
|
||||
}
|
||||
function mfs {
|
||||
reset-db
|
||||
}
|
||||
function coolify {
|
||||
bash vendor/bin/spin exec -u webuser coolify bash
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user