allow to get the mastercontainer logs from the frontend

Signed-off-by: szaimen <szaimen@e.mail.de>
This commit is contained in:
szaimen 2022-03-09 16:50:53 +01:00
parent 85b445d576
commit 22d3b0ba30
3 changed files with 9 additions and 5 deletions

View file

@ -44,8 +44,12 @@ class DockerController
public function GetLogs(Request $request, Response $response, $args) : Response public function GetLogs(Request $request, Response $response, $args) : Response
{ {
$id = $request->getQueryParams()['id']; $id = $request->getQueryParams()['id'];
$container = $this->containerDefinitionFetcher->GetContainerById($id); if (str_starts_with($id, 'nextcloud-aio-')) {
$logs = $this->dockerActionManager->GetLogs($container); $logs = $this->dockerActionManager->GetLogs($id);
} else {
$logs = 'Container not found.';
}
$body = $response->getBody(); $body = $response->getBody();
$body->write($logs); $body->write($logs);

View file

@ -120,12 +120,12 @@ class DockerActionManager
} }
} }
public function GetLogs(Container $container) : string public function GetLogs(string $id) : string
{ {
$url = $this->BuildApiUrl( $url = $this->BuildApiUrl(
sprintf( sprintf(
'containers/%s/logs?stdout=true&stderr=true', 'containers/%s/logs?stdout=true&stderr=true',
urlencode($container->GetIdentifier()) urlencode($id)
)); ));
$responseBody = (string)$this->guzzleClient->get($url)->getBody(); $responseBody = (string)$this->guzzleClient->get($url)->getBody();

View file

@ -164,7 +164,7 @@
{% if isBackupOrRestoreRunning == false %} {% if isBackupOrRestoreRunning == false %}
<h2>Mastercontainer</h2> <h2>Mastercontainer</h2>
You are currently running the {{ current_channel }} channel.<br><br> You are currently running the {{ current_channel }} channel. (<a href="/api/docker/logs?id=nextcloud-aio-mastercontainer">Logs</a>)<br><br>
{% if is_mastercontainer_update_available == true %} {% if is_mastercontainer_update_available == true %}
{% if isAnyRunning == false %} {% if isAnyRunning == false %}