Platform:
Ubuntu 22. Using NGINX with Nextcloud made using Web installer from the community section at Download and install Nextcloud
The error:
When I create a daemon for App API, the following happens
Default Deploy Daemon is not accessible. Please verify its configuration
.
Console outputs the following:
Error app_api GuzzleHttp\Exception\ConnectException: cURL error 6: Could not resolve host: nextcloud-appapi-dsp (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for 2024-04-02T13:14:40+00:00
http://nextcloud-appapi-dsp:2375/v1.41/_ping at .../guzzlehttp/guzzle/src/Handler/CurlFactory.php line 210
0. 3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php line 158
GuzzleHttp\Handler\CurlFactory::createRejection("*** sensitive parameters replaced ***")
1. 3rdparty/guzzlehttp/guzzle/src/Handler/CurlFactory.php line 110
GuzzleHttp\Handler\CurlFactory::finishError(
)
2. 3rdparty/guzzlehttp/guzzle/src/Handler/CurlHandler.php line 47
GuzzleHttp\Handler\CurlFactory::finish(
)
3. 3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php line 28
GuzzleHttp\Handler\CurlHandler->__invoke(
)
4. 3rdparty/guzzlehttp/guzzle/src/Handler/Proxy.php line 48
GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}("*** sensitive parameters replaced ***")
5. 3rdparty/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php line 35
GuzzleHttp\Handler\Proxy::GuzzleHttp\Handler\{closure}("*** sensitive parameters replaced ***")
6. 3rdparty/guzzlehttp/guzzle/src/Middleware.php line 31
GuzzleHttp\PrepareBodyMiddleware->__invoke(
)
7. 3rdparty/guzzlehttp/guzzle/src/RedirectMiddleware.php line 71
GuzzleHttp\Middleware::GuzzleHttp\{closure}("*** sensitive parameters replaced ***")
8. 3rdparty/guzzlehttp/guzzle/src/Middleware.php line 63
GuzzleHttp\RedirectMiddleware->__invoke(
)
9. 3rdparty/guzzlehttp/guzzle/src/HandlerStack.php line 75
GuzzleHttp\Middleware::GuzzleHttp\{closure}("*** sensitive parameters replaced ***")
10. 3rdparty/guzzlehttp/guzzle/src/Client.php line 331
GuzzleHttp\HandlerStack->__invoke(
)
11. 3rdparty/guzzlehttp/guzzle/src/Client.php line 168
GuzzleHttp\Client->transfer(
)
12. 3rdparty/guzzlehttp/guzzle/src/Client.php line 187
GuzzleHttp\Client->requestAsync("*** sensitive parameters replaced ***")
13. 3rdparty/guzzlehttp/guzzle/src/ClientTrait.php line 44
GuzzleHttp\Client->request(
)
14. apps/app_api/lib/DeployActions/DockerActions.php line 333
GuzzleHttp\Client->get(
)
15. apps/app_api/lib/Controller/DaemonConfigController.php line 114
OCA\AppAPI\DeployActions\DockerActions->ping(
)
16. lib/private/AppFramework/Http/Dispatcher.php line 230
OCA\AppAPI\Controller\DaemonConfigController->checkDaemonConnection(
)
17. lib/private/AppFramework/Http/Dispatcher.php line 137
OC\AppFramework\Http\Dispatcher->executeController(
)
18. lib/private/AppFramework/App.php line 184
OC\AppFramework\Http\Dispatcher->dispatch(
)
19. lib/private/Route/Router.php line 315
OC\AppFramework\App::main(
)
20. lib/base.php line 1069
OC\Route\Router->match(
)
21. index.php line 39
OC::handleRequest(
)
What I have I tried:
I have been following the following GitHub page for Docker in Trusted Network: GitHub - cloud-py-api/docker-socket-proxy: Nextcloud AppAPI Docker Socket Proxy. Where the command is
docker run -e NC_HAPROXY_PASSWORD="some_secure_password" \
-v /var/run/docker.sock:/var/run/docker.sock \
--name nextcloud-appapi-dsp -h nextcloud-appapi-dsp \
--restart unless-stopped --privileged -d ghcr.io/cloud-py-api/nextcloud-appapi-dsp:release
I have also tried the advice here, including changing the owner of docker, but that caused more problems than solutions ( All ExApps are up-to-date. Default Deploy daemon is not accessible - Features & apps - Nextcloud community).
The docker is created with no problem, and I enter the following information to register the daemon for App API:
Name: docker_socket_proxy
Display name: Docker Socket Proxy
Deployment method: docker-install
Daemon host: nextcloud-appapi-dsp:2375
Hostname or path to access Docker daemon (e.g. nextcloud-appapi-dsp:2375, /var/run/docker.sock)
Nextcloud URL: http://cloud.example.com
Network: bridge (I have also tried to explicitly state the network as ‘host’ when making the container, and using that, but no luck). I also got the bridge name from inspect and the github.
HaProxy password: some_secure_password