init: redis

This commit is contained in:
Andras Bacsai
2023-10-12 17:18:33 +02:00
parent b8dd7704b3
commit beae0b545f
24 changed files with 570 additions and 31 deletions

View File

@@ -3,6 +3,7 @@
use App\Actions\Proxy\SaveConfiguration;
use App\Models\Server;
use App\Models\StandalonePostgresql;
use App\Models\StandaloneRedis;
use Symfony\Component\Yaml\Yaml;
function get_proxy_path()
@@ -187,8 +188,14 @@ function setup_default_redirect_404(string|null $redirect_url, Server $server)
}
}
function startPostgresProxy(StandalonePostgresql $database)
function startDatabaseProxy(StandalonePostgresql|StandaloneRedis $database)
{
$internalPort = null;
if ($database->getMorphClass()=== 'App\Models\StandaloneRedis') {
$internalPort = 6379;
} else if ($database->getMorphClass()=== 'App\Models\StandalonePostgresql') {
$internalPort = 5432;
}
$containerName = "{$database->uuid}-proxy";
$configuration_dir = database_proxy_dir($database->uuid);
$nginxconf = <<<EOF
@@ -203,7 +210,7 @@ events {
stream {
server {
listen $database->public_port;
proxy_pass $database->uuid:5432;
proxy_pass $database->uuid:$internalPort;
}
}
EOF;
@@ -260,7 +267,7 @@ EOF;
"docker compose --project-directory {$configuration_dir} up --build -d >/dev/null",
], $database->destination->server);
}
function stopPostgresProxy(StandalonePostgresql $database)
function stopDatabaseProxy(StandalonePostgresql|StandaloneRedis $database)
{
instant_remote_process(["docker rm -f {$database->uuid}-proxy"], $database->destination->server);
}