maxandersen / internet-monitoring

Monitor your network and internet speed with Docker & Prometheus
432 stars 105 forks source link

Synology docker-compose up fails on 0.0.0.0:9090 #13

Open bickycheese opened 3 years ago

bickycheese commented 3 years ago

(Running on Synology)

stanny@ONYX:~/internet-monitoring/prometheus$ sudo docker-compose up
Password:
Starting internet-monitoring_ping_1 ...
internet-monitoring_nodeexp_1 is up-to-date
Starting internet-monitoring_speedtest_1 ...
Starting internet-monitoring_ping_1      ... done
Starting internet-monitoring_speedtest_1 ... done
ERROR: for internet-monitoring_sonos_1  "host" network_mode is incompatible with port_bindings
Starting internet-monitoring_prometheus_1 ...
Starting internet-monitoring_prometheus_1 ... error

ERROR: for internet-monitoring_prometheus_1  Cannot start service prometheus: driver failed programming external connectivity on endpoint internet-monitoring_prometheus_1 (168c33d054b9eab138038538c19dbc5a31047fd7edc821a436a33047a7d7057f): Bind for 0.0.0.0:9090 failed: port is already allocated

ERROR: for sonos  "host" network_mode is incompatible with port_bindings

ERROR: for prometheus  Cannot start service prometheus: driver failed programming external connectivity on endpoint internet-monitoring_prometheus_1 (168c33d054b9eab138038538c19dbc5a31047fd7edc821a436a33047a7d7057f): Bind for 0.0.0.0:9090 failed: port is already allocated
Traceback (most recent call last):
  File "docker-compose", line 3, in <module>
  File "compose/cli/main.py", line 80, in main
  File "compose/cli/main.py", line 192, in perform_command
  File "compose/metrics/decorator.py", line 18, in wrapper
  File "compose/cli/main.py", line 1165, in up
  File "compose/cli/main.py", line 1161, in up
  File "compose/project.py", line 702, in up
  File "compose/parallel.py", line 106, in parallel_execute
  File "compose/parallel.py", line 204, in producer
  File "compose/project.py", line 688, in do
  File "compose/service.py", line 563, in execute_convergence_plan
  File "compose/service.py", line 479, in _execute_convergence_create
  File "compose/parallel.py", line 106, in parallel_execute
  File "compose/parallel.py", line 204, in producer
  File "compose/service.py", line 477, in <lambda>
  File "compose/service.py", line 456, in create_and_start
  File "compose/service.py", line 333, in create_container
  File "compose/service.py", line 937, in _get_container_create_options
  File "compose/service.py", line 1069, in _get_container_host_config
  File "docker/api/container.py", line 598, in create_host_config
  File "docker/types/containers.py", line 339, in __init__
docker.errors.InvalidArgument: "host" network_mode is incompatible with port_bindings
[28508] Failed to execute script docker-compose
stanny@ONYX:~/internet-monitoring/prometheus$ docker -v
Docker version 20.10.3, build b35e731

9090 is NOT used anywhere..

Any ideas?

bickycheese commented 3 years ago

Fixed it myself by removing network_mode: host and changing prometheus port to - 9090 in yaml file. Now grafana shows no dashboards and datasources, not even after restarting..

All I see in the output is

image

Quinten0508 commented 2 years ago

FYI: You can delete the entire sonos image which saves on bloat, logs, and errors! I had the same issue but did not have to change the prometheus port: try deleting just the sonos section :)