使用Docker安装STF
使用docker搭建STF手机管理平台
STF介绍
STF是开源的Android手机管理平台,基于Nodejs开发,支持在web端浏览器远程控制和调试手机
Github地址:https://github.com/openstf/stf
主要功能:
- 远程手机控制和屏幕实时显示
- 设备日志查看、过滤
- 远程调试
- 执行shell命令
- 提供详细的设备信息,通过电话号码,IMEI,ICCID,Android版本,运营商,产品名称和/或许多其他属性搜索设备
- 截图、复制粘贴、拖动到浏览器安装apk、设备文件管理等
- 简单的REST API
还有一个开源手机管理平台ATXServer,由网易团队使用Go开发的,目前正在用Python重构atxserver2
STF构成:
- STF服务器Server,负责手机的管理
- STFService.apk,安装在手机上,接收STF服务器下发的消息,解析成控制手机的命令
STF安装
STF安装比较复杂,依赖较多,有的依赖需要从源码编译安装。使用docker安装比较简单,这里以Ubuntu 18.04.2LTS为例,通过docker安装STF
安装docker
-
卸载老版本docker
$ sudo apt-get remove docker docker-engine docker.io containerd runc
-
更新apt包索引
$ sudo apt-get update
-
开启HTTPS
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ gnupg-agent \ software-properties-common
-
添加docker的官方GPG key
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
-
验证指纹
$ sudo apt-key fingerprint 0EBFCD88 pub rsa4096 2017-02-22 [SCEA] 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid [ unknown] Docker Release (CE deb) <docker@docker.com> sub rsa4096 2017-02-22 [S]
-
添加stable repository
$ sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
-
更新apt包索引
$ sudo apt-get update
-
安装最新版
docker ce
和containerd
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
安装STF
拉取STF相关镜像
sudo docker pull openstf/stf:latest # STF镜像
sudo docker pull sorccu/adb:latest # android adb 镜像
sudo docker pull rethinkdb:latest # rethinkdb 镜像
sudo docker pull openstf/ambassador:latest
sudo docker pull nginx:latest # nginx 代理镜像
sudo docker images #查看已经拉取好的镜像
注意:如果拉取速度较慢,可以配置docker镜像加速。docker官方为国内提供了服务器
添加以下配置到/etc/docker/daemon.json
文件,没有该文件可以创建一个,注意文件必须是json格式。配置完成后需要重启docker
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
配置完成后需要重启docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
执行docker info
看到以下内容说明加速器已生效
Registry Mirrors:
https://registry.docker-cn.com/
启动rethinkdb数据库容器
sudo docker run -d --name rethinkdb -v /srv/rethinkdb:/data \
--net host rethinkdb rethinkdb --bind all \
--cache-size 8192 --http-port 8090
启动adbd服务容器
sudo docker run -d --name adbd --privileged \
-v /dev/bus/usb:/dev/bus/usb --net host sorccu/adb:latest
启动STF容器,其中192.168.1.100
替换成你的服务器IP地址
sudo docker run -d --name stf --net host openstf/stf stf local \
--public-ip 192.168.1.100
查看docker容器
sudo docker ps -a
容器正常启动后,在局域网内浏览器访问192.168.1.100:7100
即可访问STF。账号不需要注册,可以随便填写,邮箱随便填(格式正确即可)