nunux-keeper / keeper-docker

Self-hosted Nunux Keeper with Docker
GNU General Public License v3.0
60 stars 5 forks source link

Error installing #1

Closed fubz closed 7 years ago

fubz commented 7 years ago

Here is the output from "make up" after cloning the repository. Let me know what other information may be required.


[user@server keeper-docker]# make up
Setup Nunux Keeper...
Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 214, in _raise_for_status
    response.raise_for_status()
  File "/usr/lib/python3.6/site-packages/requests/models.py", line 909, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 44, in handle_connection_errors
    yield
  File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 876, in up
    remove_orphans=remove_orphans)
  File "/usr/lib/python3.6/site-packages/compose/project.py", line 385, in up
    warn_for_swarm_mode(self.client)
  File "/usr/lib/python3.6/site-packages/compose/project.py", line 590, in warn_for_swarm_mode
    info = client.info()
  File "/usr/lib/python3.6/site-packages/docker/api/daemon.py", line 73, in info
    return self._result(self._get(self._url("/info")), True)
  File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 220, in _result
    self._raise_for_status(response)
  File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 216, in _raise_for_status
    raise create_api_error_from_http_exception(e)
  File "/usr/lib/python3.6/site-packages/docker/errors.py", line 30, in create_api_error_from_http_exception
    raise cls(e, response=response, explanation=explanation)
docker.errors.APIError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info ("client is newer than server (client API version: 1.25, server API version: 1.24)")

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/docker-compose", line 11, in <module>
    load_entry_point('docker-compose==1.11.2', 'console_scripts', 'docker-compose')()
  File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 64, in main
    command()
  File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command
    handler(command, command_options)
  File "/usr/lib/python3.6/contextlib.py", line 100, in __exit__
    self.gen.throw(type, value, traceback)
  File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 54, in handle_connection_errors
    log_api_error(e, client.api_version)
  File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 71, in log_api_error
    if b'client is newer than server' not in e.explanation:
TypeError: 'in <string>' requires string as left operand, not bytes
make: *** [Makefile:80: up] Error 1
ncarlier commented 7 years ago

I think that your Docker daemon is too old : ("client is newer than server (client API version: 1.25, server API version: 1.24)") Try to update Docker please.

Le dim. 5 mars 2017 18:22, fubz notifications@github.com a écrit :

Here is the output from "make up" after cloning the repository. Let me know what other information may be required.

[user@server keeper-docker]# make up Setup Nunux Keeper... Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 214, in _raise_for_status response.raise_for_status() File "/usr/lib/python3.6/site-packages/requests/models.py", line 909, in raise_for_status raise HTTPError(http_error_msg, response=self) requests.exceptions.HTTPError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 44, in handle_connection_errors yield File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command handler(command, command_options) File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 876, in up remove_orphans=remove_orphans) File "/usr/lib/python3.6/site-packages/compose/project.py", line 385, in up warn_for_swarm_mode(self.client) File "/usr/lib/python3.6/site-packages/compose/project.py", line 590, in warn_for_swarm_mode info = client.info() File "/usr/lib/python3.6/site-packages/docker/api/daemon.py", line 73, in info return self._result(self._get(self._url("/info")), True) File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 220, in _result self._raise_for_status(response) File "/usr/lib/python3.6/site-packages/docker/api/client.py", line 216, in _raise_for_status raise create_api_error_from_http_exception(e) File "/usr/lib/python3.6/site-packages/docker/errors.py", line 30, in create_api_error_from_http_exception raise cls(e, response=response, explanation=explanation) docker.errors.APIError: 400 Client Error: Bad Request for url: http+docker://localunixsocket/v1.25/info ("client is newer than server (client API version: 1.25, server API version: 1.24)")

During handling of the above exception, another exception occurred:

Traceback (most recent call last): File "/usr/bin/docker-compose", line 11, in load_entry_point('docker-compose==1.11.2', 'console_scripts', 'docker-compose')() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 64, in main command() File "/usr/lib/python3.6/site-packages/compose/cli/main.py", line 116, in perform_command handler(command, command_options) File "/usr/lib/python3.6/contextlib.py", line 100, in exit self.gen.throw(type, value, traceback) File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 54, in handle_connection_errors log_api_error(e, client.api_version) File "/usr/lib/python3.6/site-packages/compose/cli/errors.py", line 71, in log_api_error if b'client is newer than server' not in e.explanation: TypeError: 'in ' requires string as left operand, not bytes make: *** [Makefile:80: up] Error 1

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/nunux-keeper/keeper-docker/issues/1, or mute the thread https://github.com/notifications/unsubscribe-auth/AAwlW1dIgwPb5o6eNzHeNLXk31TE7nKYks5riu9OgaJpZM4MTemn .

fubz commented 7 years ago

That was it, after updating my docker daemon the install progresses.

Now I have a conflict with my environment, I'm not entirely sure of the best approach. I currently have port 8080 and 80 bound to other services.

In the docker-compose.yml I changed the ports that are exposed to the host

services:
  traefik:
    image: "traefik:latest"
    command: -c /dev/null --web --docker --logLevel=DEBUG
    ports:
      - "5080:80"
      - "5088:8080"

Which leads to the error:

INFO: I/O exception (java.net.NoRouteToHostException) caught when processing request to {}->http://172.17.42.1:80: No route to host (Host unreachable)
Mar 08, 2017 5:17:27 AM org.apache.http.impl.execchain.RetryExec execute
INFO: Retrying request to {}->http://172.17.42.1:80
Failed to send request - No route to host (Host unreachable)

I can fix this by altering the build scripts; however, before I go down this rabbit hole. What do you think the best approach would be to circumvent this issue?

ncarlier commented 7 years ago

This error is due to the Keycloak configuration script: https://github.com/nunux-keeper/keeper-docker/blob/master/etc/keycloak.env#L36 A quick fix to resolve this issue is to update this line and add the good port : http://172.17.42.1:5080 Don't forget to update also this line: https://github.com/nunux-keeper/keeper-docker/blob/master/etc/keycloak.env#L24 : http://localhost:5080

Iam not happy with this configuration script. To be better this script should be executed inside the compose network and not outside. I should improve this. I should also use variable substitution inside compose file to allow custom ports: https://docs.docker.com/compose/compose-file/#variable-substitution