环境要求
- Go 1.18+
- Node.js 16+
- ADB 工具(必须安装并配置环境变量)
- pnpm 包管理器
源码
https://nwt2vfwrjfh.feishu.cn/file/GHv0blpY2oB0I1xJua5cGUIJnAd?from=from_copylink
1、配置apt源
#切换到root用户
sudo su - root
#编辑软件源配置文件配置成阿里云镜像源
vi /etc/apt/sources.list
# Ubuntu sources have moved to /etc/apt/sources.list.d/ubuntu.sources
deb https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble main restricted universe multiv erse
deb https://mirrors.aliyun.com/ubuntu/ noble-security main restricted universe m ultiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-security main restricted univer se multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted universe mu ltiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-updates main restricted univers e multiverse
# deb https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted universe multiverse
# deb-src https://mirrors.aliyun.com/ubuntu/ noble-proposed main restricted univ erse multiverse
deb https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted universe multiverse
deb-src https://mirrors.aliyun.com/ubuntu/ noble-backports main restricted unive rse multiverse
root@ubuntu24:/opt/qun-kongsj#
#确保系统已更新至最新状态,并安装必要依赖:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget git # 安装常用工具
2、安装adb
apt install adb -y
#验证adb安装成功
adb version3、安装 Go 1.18+
Ubuntu 24.04 官方仓库提供的 Go 版本为 1.22.2(满足 1.18+ 要求),推荐使用 APT 安装
apt install -y golang-go配置环境变量
vi ~/.bashrc
#在文件末尾添加以下内容:
# Go 环境变量
export GOROOT=/usr/lib/go-1.22 # Go 安装目录(Ubuntu 24.04 默认路径)
export GOPATH=$HOME/go # 工作空间(自定义)
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
#刷新环境变量:
source ~/.bashrc
#验证安装
go version
# 输出应类似:
go version go1.22.2 linux/amd64设置国内 Go 模块代理
将 Go 的代理地址改为国内可用的镜像(如 goproxy.cn或 goproxy.io):
# 临时设置(仅当前终端有效) direct表示若代理不可用,则直接访问源站。
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
# 永久生效(推荐)
echo "export GOPROXY=https://goproxy.cn,direct" >> ~/.bashrc
source ~/.bashrc4、安装Node.js 16+
Node.js 16+ 包括 LTS(长期支持)版本(如 18.x、20.x),推荐使用 NodeSource 仓库安装最新 LTS 版本(满足 16+ 要求),步骤如下:
1. 添加 NodeSource 仓库
以安装 Node.js 20.x(最新 LTS)为例,执行以下命令:
# 安装依赖
sudo apt install -y ca-certificates curl gnupg
# 导入 NodeSource GPG 密钥
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
# 添加 Node.js 20.x 仓库
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/nodesource.list > /dev/null2. 安装 Node.js
更新软件包索引并安装 Node.js:
sudo apt update
sudo apt install -y nodejs npm3. 验证安装
运行以下命令检查 Node.js 和 npm(Node.js 包管理器)版本:
node -v # 检查 Node.js 版本(应输出 v20.x.x)
npm -v # 检查 npm 版本(应输出 10.x.x 及以上)5、安装pnpm 包管理器
pnpm 是 Node.js 的包管理器,推荐使用 官方脚本安装(适用于大多数 Linux 系统),步骤如下:
1. 安装 pnpm
执行以下命令安装 pnpm:
curl -fsSL https://get.pnpm.io/install.sh | sh -
或者
wget -qO- https://get.pnpm.io/install.sh | sh -2. 刷新环境变量
安装完成后,刷新 shell 环境变量以识别 pnpm命令:
source ~/.bashrc # 若使用 bash
# 或 source ~/.zshrc # 若使用 zsh3. 验证安装
运行以下命令检查 pnpm 版本:
pnpm --version
#输出应类似:
8.15.56、下载源码并解压
cd /opt
apt install -y unzip
#将源码放入这里。假设源码 文件名为 s.zip
#解压s.zip
unzip s.zip
7、启动服务
需要同时运行后端服务、前端服务和串流服务。建议在三个不同的终端窗口中分别启动各服务。
1.后端服务
cd backend
# 临时设置(仅当前终端有效) direct表示若代理不可用,则直接访问源站。
go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct
go mod tidy
cp ./manifest/config/config.yaml.bak ./manifest/config/config.yaml
go run main.go
2.前端服务
cd frontend
pnpm install
cd ..
mv frontend/.env frontend/.senv && cp frontend/.env.bak frontend/.env
cd frontend
pnpm run dev

3.串流服务(WebScrcpy)
cd wscrcpy
pnpm install
pnpm start
webscrcpy启动报错如下:
innerError Error: Cannot find module '../build/Debug/pty.node'
Cannot find module '../build/Release/pty.node'
解决方式如下:# Ubuntu/Debian sudo apt update sudo apt install -y build-essential python3 make gcc g++ # 进入项目目录 cd /opt/qun-kongsj/wscrcpy # 删除现有 node_modules 和 lock 文件 rm -rf node_modules pnpm-lock.yaml # 清除 PNPM 缓存 pnpm store prune # 重新安装依赖并重建 pnpm install --force --ignore-scripts=false # 进入 node-pty 目录 cd node_modules/.pnpm/node-pty@0.10.1/node_modules/node-pty # 手动编译 pnpm run install # 或 npm run install # 进入项目目录 cd /opt/qun-kongsj/wscrcpy 重新启动服务 pnpm start如果wscrcpy还是启动不了,使用尝试以下步骤启动:
#安装依赖 sudo apt update sudo apt install -y adb scrcpy ffmpeg npm nodejs git #安装 Node.js # 使用 NodeSource 安装最新 LTS 版本 curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs #克隆 ws-scrcpy 仓库 cd /opt git clone https://github.com/NetrisTV/ws-scrcpy.git cd ws-scrcpy #安装 Node 依赖 npm install #启动服务 npm start #服务默认运行在 http://localhost:8000
服务还是不能启动的话,使用第9步中的docker images启动容器。
8、访问前台8848端口登录
用户名 admin 密码admin123

9、附录ubuntu安装docker
docker-ce镜像_docker-ce下载地址_docker-ce安装教程-阿里巴巴开源镜像站
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
# step 2: 信任 Docker 的 GPG 公钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Step 3: 写入软件源信息
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Step 4: 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
配置docker镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": [ "https://0907e9f34380f2940febc01a90f417a0.mirror.swr.myhuaweicloud.com" ]
}按"Esc",输入":wq"保存并退出。配置完成后,执行systemctl restart docker重启容器引擎。
顺便安装一下docker-compose
pull images
docker pull swr.cn-southwest-2.myhuaweicloud.com/wufurong/ws-scrpy:latest
docker pull swr.cn-southwest-2.myhuaweicloud.com/wufurong/dockerify-android:latestdocker-compose.yml
services:
dockerify-android:
container_name: dockerify-android
image: swr.cn-southwest-2.myhuaweicloud.com/wufurong/dockerify-android:latest
build:
context: .
ports:
- "5555:5555"
volumes:
- ./data:/data
- ./extras:/extras
environment:
DNS: 223.5.5.5
RAM_SIZE: 2048
# Optional screen resolution in WIDTHxHEIGHT format
SCREEN_RESOLUTION: 720x720
# Optional screen density (dpi)
SCREEN_DENSITY: 227
ROOT_SETUP: 0 # set to 1 to enable rooting
GAPPS_SETUP: 0 # set to 1 to install PICO GAPPS
privileged: true
devices:
- /dev/kvm
scrcpy-web:
container_name: scrcpy-web
restart: unless-stopped
image: swr.cn-southwest-2.myhuaweicloud.com/wufurong/scrcpy-web:latest
privileged: true
ports:
- 8000:8000
depends_on:
dockerify-android:
condition: service_healthy
command: >
sh -c "
adb connect dockerify-android:5555 &&
npm start
"最后使用docker-compose.yml启动容器
或者使用容器启动scrcpy服务
docker run --name ws-scrcpy -d -p 8000:8000 scavin/ws-scrcpy
docker exec ws-scrcpy adb connect android.device.ip:555510、安装docker云手机(使用了第9步中的docker-compose.yml的话,这里可以跳过)
# 停止并删除现有容器(如果存在)
docker stop redroid && docker rm redroid
# 创建新的 Redroid 容器(添加关键参数)
docker run -itd --name redroid --rm --privileged \
-v ~/data:/data \
-p 5555:5555 \
-e ANDROID_DEBUGGABLE=1 \
-e ANDROID_ADB_ENABLED=1 \
redroid/redroid:12.0.0_64only-latest \
androidboot.redroid_adb_port=5555 \
androidboot.redroid_ro.adb.secure=0 \
redroid.width=720 \
redroid.height=1280
关键参数说明:
-e ANDROID_DEBUGGABLE=1:强制开启可调试模式
-e ANDROID_ADB_ENABLED=1:明确启用 ADB
androidboot.redroid_adb_port=5555:指定 ADB 监听端口
androidboot.redroid_ro.adb.secure=0:禁用 ADB 安全认证(避免授权弹窗)11、adb连接docker手机
adb kill-server
adb start-server
#连接手机
adb connect 127.0.0.1:5555 # 确保链接成功
adb devices # 重新检测 得到id 在前台界面添加手机