[ "coolify-cloudflared" => [ "container_name" => "coolify-cloudflared", "image" => "cloudflare/cloudflared:latest", "restart" => RESTART_MODE, "network_mode" => "host", "command" => "tunnel run", "environment" => [ "TUNNEL_TOKEN={$cloudflare_token}", ], ], ], ]; $config = Yaml::dump($config, 12, 2); $docker_compose_yml_base64 = base64_encode($config); $commands = collect([ "mkdir -p /tmp/cloudflared", "cd /tmp/cloudflared", "echo '$docker_compose_yml_base64' | base64 -d | tee docker-compose.yml > /dev/null", "docker compose pull", "docker compose down -v --remove-orphans > /dev/null 2>&1", "docker compose up -d --remove-orphans", ]); instant_remote_process($commands, $server); } catch (\Throwable $e) { ray($e); throw $e; } finally { $commands = collect([ "rm -fr /tmp/cloudflared", ]); instant_remote_process($commands, $server); } } }