In the last three entries of the Nextcloud log you posted. Didn’t you even read those log entries thoroughly?
Here are those lines in JSON-Pretty, which you get when you pipe it throug the command-line JSON processor → jq ← :
{
"reqId": "yfZFuP14xexJkfr4nZvL",
"level": 3,
"time": "2025-01-20T09:00:04+00:00",
"remoteAddr": "",
"user": "--",
"app": "richdocuments",
"method": "",
"url": "--",
"message": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</c (truncated...)\n",
"userAgent": "--",
"version": "30.0.5.1",
"exception": {
"Exception": "GuzzleHttp\\Exception\\ClientException",
"Message": "Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</c (truncated...)\n",
"Code": 404,
"Trace": [
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Middleware.php",
"line": 72,
"function": "create",
"class": "GuzzleHttp\\Exception\\RequestException",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 209,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 158,
"function": "callHandler",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/TaskQueue.php",
"line": 52,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 251,
"function": "run",
"class": "GuzzleHttp\\Promise\\TaskQueue",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 227,
"function": "invokeWaitFn",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 69,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Client.php",
"line": 189,
"function": "wait",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/lib/private/Http/Client/Client.php",
"line": 205,
"function": "request",
"class": "GuzzleHttp\\Client",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/DiscoveryService.php",
"line": 59,
"function": "get",
"class": "OC\\Http\\Client\\Client",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/CachedRequestService.php",
"line": 74,
"function": "sendRequest",
"class": "OCA\\Richdocuments\\Service\\DiscoveryService",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php",
"line": 41,
"function": "fetch",
"class": "OCA\\Richdocuments\\Service\\CachedRequestService",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/Job.php",
"line": 61,
"function": "run",
"class": "OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 88,
"function": "start",
"class": "OCP\\BackgroundJob\\Job",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 75,
"function": "start",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
},
{
"file": "/app/www/public/cron.php",
"line": 162,
"function": "execute",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
}
],
"File": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php",
"Line": 113,
"message": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</c (truncated...)\n",
"exception": {},
"CustomMessage": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n<html>\r\n<head><title>404 Not Found</title></head>\r\n<body>\r\n<center><h1>404 Not Found</h1></center>\r\n<hr><center>nginx</c (truncated...)\n"
}
}
{
"reqId": "pcnkuvf6ZlluWQa1luvn",
"level": 3,
"time": "2025-01-20T10:05:03+00:00",
"remoteAddr": "",
"user": "--",
"app": "richdocuments",
"method": "",
"url": "--",
"message": "Failed to fetch capabilities: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/capabilities` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"userAgent": "--",
"version": "30.0.5.1",
"exception": {
"Exception": "GuzzleHttp\\Exception\\ClientException",
"Message": "Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/capabilities` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"Code": 404,
"Trace": [
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Middleware.php",
"line": 72,
"function": "create",
"class": "GuzzleHttp\\Exception\\RequestException",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 209,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 158,
"function": "callHandler",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/TaskQueue.php",
"line": 52,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 251,
"function": "run",
"class": "GuzzleHttp\\Promise\\TaskQueue",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 227,
"function": "invokeWaitFn",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 69,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Client.php",
"line": 189,
"function": "wait",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/lib/private/Http/Client/Client.php",
"line": 205,
"function": "request",
"class": "GuzzleHttp\\Client",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php",
"line": 132,
"function": "get",
"class": "OC\\Http\\Client\\Client",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/CachedRequestService.php",
"line": 74,
"function": "sendRequest",
"class": "OCA\\Richdocuments\\Service\\CapabilitiesService",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php",
"line": 35,
"function": "fetch",
"class": "OCA\\Richdocuments\\Service\\CachedRequestService",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/Job.php",
"line": 61,
"function": "run",
"class": "OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 88,
"function": "start",
"class": "OCP\\BackgroundJob\\Job",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 75,
"function": "start",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
},
{
"file": "/app/www/public/cron.php",
"line": 162,
"function": "execute",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
}
],
"File": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php",
"Line": 113,
"message": "Failed to fetch capabilities: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/capabilities` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"exception": {},
"CustomMessage": "Failed to fetch capabilities: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/capabilities` resulted in a `404 Not Found` response:\n404 page not found\n\n"
}
}
{
"reqId": "pcnkuvf6ZlluWQa1luvn",
"level": 3,
"time": "2025-01-20T10:05:03+00:00",
"remoteAddr": "",
"user": "--",
"app": "richdocuments",
"method": "",
"url": "--",
"message": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"userAgent": "--",
"version": "30.0.5.1",
"exception": {
"Exception": "GuzzleHttp\\Exception\\ClientException",
"Message": "Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"Code": 404,
"Trace": [
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Middleware.php",
"line": 72,
"function": "create",
"class": "GuzzleHttp\\Exception\\RequestException",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 209,
"function": "GuzzleHttp\\{closure}",
"class": "GuzzleHttp\\Middleware",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 158,
"function": "callHandler",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/TaskQueue.php",
"line": 52,
"function": "GuzzleHttp\\Promise\\{closure}",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "::",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 251,
"function": "run",
"class": "GuzzleHttp\\Promise\\TaskQueue",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 227,
"function": "invokeWaitFn",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 272,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 229,
"function": "invokeWaitList",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/promises/src/Promise.php",
"line": 69,
"function": "waitIfPending",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Client.php",
"line": 189,
"function": "wait",
"class": "GuzzleHttp\\Promise\\Promise",
"type": "->"
},
{
"file": "/app/www/public/lib/private/Http/Client/Client.php",
"line": 205,
"function": "request",
"class": "GuzzleHttp\\Client",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/DiscoveryService.php",
"line": 59,
"function": "get",
"class": "OC\\Http\\Client\\Client",
"type": "->",
"args": [
"*** sensitive parameters replaced ***"
]
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Service/CachedRequestService.php",
"line": 74,
"function": "sendRequest",
"class": "OCA\\Richdocuments\\Service\\DiscoveryService",
"type": "->"
},
{
"file": "/config/www/nextcloud/apps/richdocuments/lib/Backgroundjobs/ObtainCapabilities.php",
"line": 41,
"function": "fetch",
"class": "OCA\\Richdocuments\\Service\\CachedRequestService",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/Job.php",
"line": 61,
"function": "run",
"class": "OCA\\Richdocuments\\Backgroundjobs\\ObtainCapabilities",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 88,
"function": "start",
"class": "OCP\\BackgroundJob\\Job",
"type": "->"
},
{
"file": "/app/www/public/lib/public/BackgroundJob/TimedJob.php",
"line": 75,
"function": "start",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
},
{
"file": "/app/www/public/cron.php",
"line": 162,
"function": "execute",
"class": "OCP\\BackgroundJob\\TimedJob",
"type": "->"
}
],
"File": "/app/www/public/3rdparty/guzzlehttp/guzzle/src/Exception/RequestException.php",
"Line": 113,
"message": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n404 page not found\n\n",
"exception": {},
"CustomMessage": "Failed to fetch discovery: Client error: `GET http://cloud.privetdrive.net/apps/richdocumentscode/proxy.php?req=/hosting/discovery` resulted in a `404 Not Found` response:\n404 page not found\n\n"
}
}
You should always → check log entries first ← . They can contain important clues about possible causes.
h.t.h.
ernolf