DeviceFarmer / stf

Control and manage Android devices from your browser.
https://devicefarmer.github.io
Other
3.3k stars 475 forks source link

Problem with setup environment on Windows 10 using docker #63

Open miszelx opened 4 years ago

miszelx commented 4 years ago

Steps for reproduce

  1. Download the following images:

    • docker pull devicefarmer/stf:latest
    • docker pull devicefarmer/adb
    • docker pull rethinkdb:latest
  2. Running those images by the following commands:

    • docker run -d --name rethinkdb -v /srv/rethinkdb:/data --net host rethinkdb rethinkdb --bind all --cache-size 8192 --http-port 8090
    • docker run -d --name adbd --privileged -v /dev/bus/usb:/dev/bus/usb --net host devicefarmer/adb:latest
    • docker run -d --name stf --net host devicefarmer/stf stf local
  3. I try to open the page: http://localhost:7100 but does not work

When I did the same steps using also Docker but in Ubuntu 20.04 the page is loading correctly

What I'm doing wrong in Windows 10 using Docker ?

Below I attached the screenshots from Windows 10 image

image image

Result: Page is not loading image

issue-label-bot[bot] commented 4 years ago

Issue-Label Bot is automatically applying the label bug to this issue, with a confidence of 0.87. Please mark this comment with :thumbsup: or :thumbsdown: to give our bot feedback!

Links: app homepage, dashboard and code for this bot.

denis99999 commented 4 years ago

@miszelx ,

  1. Can you provide full logs at server side and at browser side please (i.e. web console of development tools) ?
  2. How you launched the ADB container can't work because the specified volume mounting value is Linux specific, you have to report to Docker documentation for windows here: https://docs.microsoft.com/en-us/virtualization/windowscontainers/deploy-containers/hardware-devices-in-containers, or you can also launch ADB on the host and access it from the STF container using the --adb-host flag (e.g. see #40 about the same issue on macos)
  3. You can also try these work arounds:
  1. (tested on windows 7 and recommended) run your STF environment inside a VirtualBox VM (Linux) bridged on the network of your windows host
  2. (not tested) run your STF environment inside the Windows Subsystem for Linux (WSL)
miszelx commented 4 years ago

Logs from first container Recursively removing directory /data/rethinkdb_data/tmp

Initializing directory /data/rethinkdb_data

Running rethinkdb 2.4.1~0buster (CLANG 7.0.1 (tags/RELEASE_701/final))...

Running on Linux 4.19.76-linuxkit x86_64

Loading data from directory /data/rethinkdb_data

warn: Cache size is larger than available memory.

Listening for intracluster connections on port 29015

Listening for client driver connections on port 28015

Listening for administrative HTTP connections on port 8090

Listening on cluster addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Listening on driver addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Listening on http addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Server ready, "docker_desktop_rre" a86a23e9-cf79-4684-a248-ead6b6b8be37

Recursively removing directory /data/rethinkdb_data/tmp

Initializing directory /data/rethinkdb_data

Running rethinkdb 2.4.1~0buster (CLANG 7.0.1 (tags/RELEASE_701/final))...

Running on Linux 4.19.76-linuxkit x86_64

Loading data from directory /data/rethinkdb_data

warn: Cache size is larger than available memory.

Listening for intracluster connections on port 29015

Listening for client driver connections on port 28015

Listening for administrative HTTP connections on port 8090

Listening on cluster addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Listening on driver addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Listening on http addresses: 127.0.0.1, 172.17.0.1, 192.168.65.3, ::1, fe80::50:ff:fe00:1%4

Server ready, "docker_desktop_756" b7d90f2e-289d-4214-8972-fbd6dbd791c6

Logs from second container adb I 08-18 12:15:45 6 6 auth.cpp:437] adb_auth_init...

adb I 08-18 12:15:45 6 6 auth.cpp:412] adb_auth_inotify_init...

adb I 08-20 13:45:42 7 7 auth.cpp:437] adb_auth_init...

adb I 08-20 13:45:42 7 7 auth.cpp:412] adb_auth_inotify_init...

Logs from third container 2020-08-20T13:45:48.711Z INF/db:setup 11 [*] Index "users"."adbKeys" created

2020-08-20T13:45:48.711Z INF/db:setup 11 [*] Waiting for index "users"."adbKeys"

2020-08-20T13:45:48.712Z INF/db:setup 11 [*] Index "vncauth"."response" created

2020-08-20T13:45:48.713Z INF/db:setup 11 [*] Waiting for index "vncauth"."response"

2020-08-20T13:45:48.715Z INF/db:setup 11 [*] Index "devices"."owner" created

2020-08-20T13:45:48.715Z INF/db:setup 11 [*] Waiting for index "devices"."owner"

2020-08-20T13:45:48.715Z INF/db:setup 11 [*] Index "vncauth"."responsePerDevice" created

2020-08-20T13:45:48.715Z INF/db:setup 11 [*] Waiting for index "vncauth"."responsePerDevice"

2020-08-20T13:45:48.717Z INF/db:setup 11 [*] Index "accessTokens"."email" created

2020-08-20T13:45:48.717Z INF/db:setup 11 [*] Waiting for index "accessTokens"."email"

2020-08-20T13:45:48.717Z INF/db:setup 11 [*] Index "groups"."privilege" created

2020-08-20T13:45:48.717Z INF/db:setup 11 [*] Waiting for index "groups"."privilege"

2020-08-20T13:45:48.720Z INF/db:setup 11 [*] Index "devices"."logs_enabled" created

2020-08-20T13:45:48.720Z INF/db:setup 11 [*] Waiting for index "devices"."logs_enabled"

2020-08-20T13:45:48.720Z INF/db:setup 11 [*] Index "groups"."owner" created

2020-08-20T13:45:48.721Z INF/db:setup 11 [*] Waiting for index "groups"."owner"

2020-08-20T13:45:48.722Z INF/db:setup 11 [*] Index "devices"."present" created

2020-08-20T13:45:48.722Z INF/db:setup 11 [*] Waiting for index "devices"."present"

2020-08-20T13:45:48.723Z INF/db:setup 11 [*] Index "groups"."startTime" created

2020-08-20T13:45:48.724Z INF/db:setup 11 [*] Waiting for index "groups"."startTime"

2020-08-20T13:45:48.725Z INF/db:setup 11 [*] Index "devices"."providerChannel" created

2020-08-20T13:45:48.725Z INF/db:setup 11 [*] Waiting for index "devices"."providerChannel"

2020-08-20T13:45:48.727Z INF/db:setup 11 [*] Index "devices"."group" created

2020-08-20T13:45:48.727Z INF/db:setup 11 [*] Waiting for index "devices"."group"

2020-08-20T13:45:48.774Z INF/db:setup 11 [*] Index "users"."adbKeys" is ready

2020-08-20T13:45:48.775Z INF/db:setup 11 [*] Index "vncauth"."response" is ready

2020-08-20T13:45:48.779Z INF/db:setup 11 [*] Index "devices"."owner" is ready

2020-08-20T13:45:48.780Z INF/db:setup 11 [*] Index "accessTokens"."email" is ready

2020-08-20T13:45:48.791Z INF/db:setup 11 [*] Index "groups"."privilege" is ready

2020-08-20T13:45:48.792Z INF/db:setup 11 [*] Index "devices"."logs_enabled" is ready

2020-08-20T13:45:48.792Z INF/db:setup 11 [*] Index "groups"."owner" is ready

2020-08-20T13:45:48.792Z INF/db:setup 11 [*] Index "vncauth"."responsePerDevice" is ready

2020-08-20T13:45:48.793Z INF/db:setup 11 [*] Index "devices"."present" is ready

2020-08-20T13:45:48.793Z INF/db:setup 11 [*] Index "groups"."startTime" is ready

2020-08-20T13:45:48.793Z INF/db:setup 11 [*] Index "devices"."providerChannel" is ready

2020-08-20T13:45:48.793Z INF/db:setup 11 [*] Index "devices"."group" is ready

2020-08-20T13:45:49.898Z INF/util:procutil 1 [*] Forking "/app/lib/cli triproxy app001 --bind-pub tcp://127.0.0.1:7111 --bind-dealer tcp://127.0.0.1:7112 --bind-pull tcp://127.0.0.1:7113"

2020-08-20T13:45:49.900Z INF/util:procutil 1 [*] Forking "/app/lib/cli triproxy dev001 --bind-pub tcp://127.0.0.1:7114 --bind-dealer tcp://127.0.0.1:7115 --bind-pull tcp://127.0.0.1:7116"

2020-08-20T13:45:49.901Z INF/util:procutil 1 [*] Forking "/app/lib/cli processor proc001 --connect-app-dealer tcp://127.0.0.1:7112 --connect-dev-dealer tcp://127.0.0.1:7115"

2020-08-20T13:45:49.906Z INF/util:procutil 1 [*] Forking "/app/lib/cli processor proc002 --connect-app-dealer tcp://127.0.0.1:7112 --connect-dev-dealer tcp://127.0.0.1:7115"

2020-08-20T13:45:49.910Z INF/util:procutil 1 [*] Forking "/app/lib/cli reaper reaper001 --connect-push tcp://127.0.0.1:7116 --connect-sub tcp://127.0.0.1:7111"

2020-08-20T13:45:49.917Z INF/util:procutil 1 [*] Forking "/app/lib/cli provider --name docker-desktop --min-port 7400 --max-port 7700 --connect-sub tcp://127.0.0.1:7114 --connect-push tcp://127.0.0.1:7116 --group-timeout 900 --public-ip localhost --storage-url http://localhost:7100/ --adb-host 127.0.0.1 --adb-port 5037 --vnc-initial-size 600x800 --mute-master never"

2020-08-20T13:45:49.928Z INF/util:procutil 1 [*] Forking "/app/lib/cli auth-mock --port 7120 --secret kute kittykat --app-url http://localhost:7100/"

2020-08-20T13:45:49.939Z INF/util:procutil 1 [*] Forking "/app/lib/cli app --port 7105 --secret kute kittykat --auth-url http://localhost:7100/auth/mock/ --websocket-url http://localhost:7110/"

2020-08-20T13:45:49.947Z INF/util:procutil 1 [*] Forking "/app/lib/cli api --port 7106 --secret kute kittykat --connect-push tcp://127.0.0.1:7113 --connect-sub tcp://127.0.0.1:7111 --connect-push-dev tcp://127.0.0.1:7116 --connect-sub-dev tcp://127.0.0.1:7114"

2020-08-20T13:45:49.952Z INF/util:procutil 1 [*] Forking "/app/lib/cli groups-engine --connect-push tcp://127.0.0.1:7113 --connect-sub tcp://127.0.0.1:7111 --connect-push-dev tcp://127.0.0.1:7116 --connect-sub-dev tcp://127.0.0.1:7114"

2020-08-20T13:45:49.961Z INF/util:procutil 1 [*] Forking "/app/lib/cli websocket --port 7110 --secret kute kittykat --storage-url http://localhost:7100/ --connect-sub tcp://127.0.0.1:7111 --connect-push tcp://127.0.0.1:7113"

2020-08-20T13:45:49.970Z INF/util:procutil 1 [*] Forking "/app/lib/cli storage-temp --port 7102"

2020-08-20T13:45:49.982Z INF/util:procutil 1 [*] Forking "/app/lib/cli storage-plugin-image --port 7103 --storage-url http://localhost:7100/"

2020-08-20T13:45:49.996Z INF/util:procutil 1 [*] Forking "/app/lib/cli storage-plugin-apk --port 7104 --storage-url http://localhost:7100/"

2020-08-20T13:45:50.010Z INF/util:procutil 1 [*] Forking "/app/lib/cli poorxy --port 7100 --app-url http://localhost:7105/ --auth-url http://localhost:7120/ --api-url http://localhost:7106/ --websocket-url http://localhost:7110/ --storage-url http://localhost:7102/ --storage-plugin-image-url http://localhost:7103/ --storage-plugin-apk-url http://localhost:7104/"

2020-08-20T13:45:51.219Z INF/triproxy 17 [app001] PUB socket bound on tcp://127.0.0.1:7111

2020-08-20T13:45:51.218Z INF/triproxy 18 [dev001] PUB socket bound on tcp://127.0.0.1:7114

2020-08-20T13:45:51.226Z INF/triproxy 18 [dev001] DEALER socket bound on tcp://127.0.0.1:7115

2020-08-20T13:45:51.223Z INF/triproxy 17 [app001] DEALER socket bound on tcp://127.0.0.1:7112

2020-08-20T13:45:51.226Z INF/triproxy 17 [app001] PULL socket bound on tcp://127.0.0.1:7113

2020-08-20T13:45:51.227Z INF/triproxy 18 [dev001] PULL socket bound on tcp://127.0.0.1:7116

2020-08-20T13:45:51.450Z INF/db 23 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:51.483Z INF/processor 23 [proc001] App dealer connected to "tcp://127.0.0.1:7112"

2020-08-20T13:45:51.486Z INF/processor 23 [proc001] Device dealer connected to "tcp://127.0.0.1:7115"

2020-08-20T13:45:51.492Z INF/db 29 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:51.508Z INF/processor 29 [proc002] App dealer connected to "tcp://127.0.0.1:7112"

2020-08-20T13:45:51.509Z INF/processor 29 [proc002] Device dealer connected to "tcp://127.0.0.1:7115"

2020-08-20T13:45:51.534Z INF/reaper 31 [reaper001] Subscribing to permanent channel "*ALL"

2020-08-20T13:45:51.562Z INF/reaper 31 [reaper001] Reaping devices with no heartbeat

2020-08-20T13:45:51.566Z INF/db 31 [reaper001] Connecting to 127.0.0.1:28015

2020-08-20T13:45:51.571Z INF/reaper 31 [reaper001] Receiving input from "tcp://127.0.0.1:7111"

2020-08-20T13:45:51.572Z INF/reaper 31 [reaper001] Sending output to "tcp://127.0.0.1:7116"

2020-08-20T13:45:51.654Z INF/groups-engine 60 [] Subscribing to permanent channel "ALL"

2020-08-20T13:45:51.677Z INF/groups-engine 60 [*] Groups engine started

2020-08-20T13:45:51.679Z INF/db 60 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:51.684Z INF/groups-engine 60 [*] Sending output to "tcp://127.0.0.1:7113"

2020-08-20T13:45:51.684Z INF/groups-engine 60 [*] Receiving input from "tcp://127.0.0.1:7111"

2020-08-20T13:45:51.685Z INF/groups-engine 60 [*] Sending output to "tcp://127.0.0.1:7116"

2020-08-20T13:45:51.686Z INF/groups-engine 60 [*] Receiving input from "tcp://127.0.0.1:7114"

2020-08-20T13:45:52.181Z INF/poorxy 94 [*] Listening on port 7100

2020-08-20T13:45:52.184Z INF/provider 41 [*] Subscribing to permanent channel "YAZsQwOYSyOk7hnMD/rjFw=="

2020-08-20T13:45:52.300Z INF/provider 41 [*] Sending output to "tcp://127.0.0.1:7116"

2020-08-20T13:45:52.302Z INF/provider 41 [*] Receiving input from "tcp://127.0.0.1:7114"

2020-08-20T13:45:52.312Z INF/provider 41 [*] Tracking devices

2020-08-20T13:45:53.361Z INF/storage:temp 71 [*] Listening on port 7102

2020-08-20T13:45:53.364Z INF/storage:plugins:image 81 [*] Listening on port 7103

2020-08-20T13:45:53.544Z INF/auth-mock 47 [*] Listening on port 7120

2020-08-20T13:45:53.555Z INF/db 47 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:53.556Z INF/storage:plugins:apk 84 [*] Listening on port 7104

2020-08-20T13:45:53.822Z INF/websocket 70 [] Subscribing to permanent channel "ALL"

2020-08-20T13:45:53.827Z INF/websocket 70 [*] Listening on port 7110

2020-08-20T13:45:53.840Z INF/db 70 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:53.844Z INF/websocket 70 [*] Sending output to "tcp://127.0.0.1:7113"

2020-08-20T13:45:53.845Z INF/websocket 70 [*] Receiving input from "tcp://127.0.0.1:7111"

2020-08-20T13:45:53.880Z INF/app 53 [*] Using pre-built resources

2020-08-20T13:45:53.904Z INF/app 53 [*] Listening on port 7105

2020-08-20T13:45:53.905Z INF/db 53 [*] Connecting to 127.0.0.1:28015

2020-08-20T13:45:56.035Z INF/api 59 [] Subscribing to permanent channel "ALL"

2020-08-20T13:45:56.095Z INF/api 59 [*] Listening on port 7106

2020-08-20T13:45:56.133Z INF/api 59 [*] Sending output to "tcp://127.0.0.1:7113"

2020-08-20T13:45:56.133Z INF/api 59 [*] Receiving input from "tcp://127.0.0.1:7111"

2020-08-20T13:45:56.134Z INF/api 59 [*] Sending output to "tcp://127.0.0.1:7116"

2020-08-20T13:45:56.134Z INF/api 59 [*] Receiving input from "tcp://127.0.0.1:7114"

2020-08-20T13:45:56.618Z INF/db 59 [*] Connecting to 127.0.0.1:28015

denis99999 commented 4 years ago

@miszelx ,

From https://docs.docker.com/network/host/:

The host networking driver only works on Linux hosts, and is not supported on Docker Desktop for Mac, Docker Desktop for Windows, or Docker EE for Windows Server.

So, this is why your server is not reachable.

If you don't want to follow the work around I indicated to you using a VirtualBox VM, I recommend you to review entirely your way to launch the containers following the instructions from the docker documentation for the windows environment, starting with using the port-mapping options.

siva-kranthi commented 4 years ago

@miszelx It would be very helpful if you post the windows setup steps here once it works