Fix deploy.sh CRLF line endings for Linux compatibility

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
dekun
2026-06-27 10:59:59 +08:00
parent 65f5caf4d9
commit b9ee546bc1
20 changed files with 2142 additions and 2118 deletions
+241 -226
View File
@@ -1,226 +1,241 @@
# 云端浏览器部署文档
本文档说明如何在 Linux 服务器(含宝塔面板环境)上部署云端浏览器。
- 安装目录:`/opt/cloud-browser`
- 运行用户:`root`
- 默认端口:`32450`
- 默认账号:`admin` / `admin`
- 代码仓库:[https://git.bz121.com/dekun/cloud-browser.git](https://git.bz121.com/dekun/cloud-browser.git)
---
## 一、环境要求
| 项目 | 要求 |
|------|------|
| 系统 | Ubuntu 20.04+ / Debian 11+ / CentOS 7+ |
| 内存 | 最低 1GB,推荐 2GB |
| Docker | 20.10+ |
| Docker Compose | v2+ |
| 端口 | 32450(或自定义,需在 `.env` 中修改) |
> 服务器已安装宝塔面板、Docker、Nginx 均可,**无需额外配置 Nginx**,服务直接监听端口,反向代理请自行操作。
---
## 二、一键部署(推荐)
**root** 用户 SSH 登录服务器,执行:
```bash
curl -fsSL https://git.bz121.com/dekun/cloud-browser/raw/branch/main/deploy.sh -o /tmp/deploy.sh
bash /tmp/deploy.sh
```
若仓库尚未推送或 curl 不可用,也可手动克隆后执行:
```bash
git clone https://git.bz121.com/dekun/cloud-browser.git /opt/cloud-browser
bash /opt/cloud-browser/deploy.sh
```
### 一键脚本会自动完成
1. 检测并安装 Docker(如未安装)
2. 克隆/更新代码到 `/opt/cloud-browser`
3. 创建 `.env``data/` 数据目录
4. 构建并启动 Docker 容器
5. 等待健康检查通过
6. 输出访问地址和默认账号
### 部署成功示例输出
```
==========================================
云端浏览器部署完成
==========================================
访问地址: http://1.2.3.4:32450
默认账号: admin
默认密码: admin
安装目录: /opt/cloud-browser
==========================================
```
---
## 三、手动部署
### 1. 克隆代码
```bash
git clone https://git.bz121.com/dekun/cloud-browser.git /opt/cloud-browser
cd /opt/cloud-browser
```
### 2. 配置环境变量(可选)
```bash
cp .env.example .env
nano .env
```
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `APP_PORT` | 宿主机端口 | `32450` |
| `MAX_SESSIONS` | 最大并发会话 | `1` |
| `SESSION_IDLE_TIMEOUT` | 空闲超时(秒) | `1800` |
| `VIEWPORT_WIDTH` | 浏览器宽度 | `1280` |
| `VIEWPORT_HEIGHT` | 浏览器高度 | `720` |
| `SCREENCAST_QUALITY` | 画面质量 10-100 | `80` |
### 3. 启动服务
```bash
mkdir -p data
docker compose up -d --build
```
### 4. 验证
```bash
curl http://127.0.0.1:32450/api/health
# {"status":"ok","sessions":0}
```
浏览器访问 `http://服务器IP:32450`,使用 `admin` / `admin` 登录。
---
## 四、登录与修改密码
1. 打开首页,输入默认账号 `admin`、密码 `admin` 登录
2. 登录后点击右上角 **「账号设置」**
3. 填写当前用户名、当前密码、新用户名、新密码
4. 保存后自动退出,使用新凭据重新登录
账号信息保存在 `/opt/cloud-browser/data/auth.json`,容器重启后不会丢失。
---
## 五、反向代理(自行配置)
服务默认监听 `32450` 端口。若需通过域名 + HTTPS 访问,请在宝塔/Nginx 中自行配置反向代理。
目标地址:
```
http://127.0.0.1:32450
```
**注意**:浏览页面使用 WebSocket(路径 `/ws/`),反代时需开启 WebSocket 支持(Upgrade 头)。
---
## 六、运维命令
```bash
cd /opt/cloud-browser
# 查看运行状态
docker compose ps
# 查看日志
docker compose logs -f app
# 重启
docker compose restart
# 停止
docker compose down
# 更新代码并重新部署
bash deploy.sh
```
---
## 七、防火墙
确保服务器防火墙 / 安全组放行 **32450** 端口(若直接通过 IP 访问):
```bash
# ufw 示例
ufw allow 32450/tcp
# firewalld 示例
firewall-cmd --permanent --add-port=32450/tcp
firewall-cmd --reload
```
若仅通过 Nginx 反代访问,可不对公网开放 32450,仅本机 `127.0.0.1` 访问即可。
---
## 八、常见问题
### 部署脚本提示非 root 用户
```bash
sudo su -
bash deploy.sh
```
### 端口被占用
修改 `/opt/cloud-browser/.env` 中的 `APP_PORT`,然后
```bash
cd /opt/cloud-browser
docker compose down
docker compose up -d
```
### 页面黑屏
```bash
docker compose logs -f app
```
常见原因:内存不足(建议 ≥ 2GB)、Chromium 启动失败。
### WebSocket 连接失败
若使用了 Nginx 反代,检查是否配置了 WebSocket Upgrade 支持。
### 忘记密码
```bash
cd /opt/cloud-browser
docker compose down
rm -f data/auth.json data/secret.key
docker compose up -d
```
将恢复为默认账号 `admin` / `admin`**会清除已修改的密码**
---
## 九、卸载
```bash
cd /opt/cloud-browser
docker compose down
cd /
rm -rf /opt/cloud-browser
```
# 云端浏览器部署文档
本文档说明如何在 Linux 服务器(含宝塔面板环境)上部署云端浏览器。
- 安装目录:`/opt/cloud-browser`
- 运行用户:`root`
- 默认端口:`32450`
- 默认账号:`admin` / `admin`
- 代码仓库:[https://git.bz121.com/dekun/cloud-browser.git](https://git.bz121.com/dekun/cloud-browser.git)
---
## 一、环境要求
| 项目 | 要求 |
|------|------|
| 系统 | Ubuntu 20.04+ / Debian 11+ / CentOS 7+ |
| 内存 | 最低 1GB,推荐 2GB |
| Docker | 20.10+ |
| Docker Compose | v2+ |
| 端口 | 32450(或自定义,需在 `.env` 中修改) |
> 服务器已安装宝塔面板、Docker、Nginx 均可,**无需额外配置 Nginx**,服务直接监听端口,反向代理请自行操作。
---
## 二、一键部署(推荐)
**root** 用户 SSH 登录服务器,执行:
```bash
curl -fsSL https://git.bz121.com/dekun/cloud-browser/raw/branch/main/deploy.sh -o /tmp/deploy.sh
bash /tmp/deploy.sh
```
若仓库尚未推送或 curl 不可用,也可手动克隆后执行:
```bash
git clone https://git.bz121.com/dekun/cloud-browser.git /opt/cloud-browser
bash /opt/cloud-browser/deploy.sh
```
### 一键脚本会自动完成
1. 检测并安装 Docker(如未安装)
2. 克隆/更新代码到 `/opt/cloud-browser`
3. 创建 `.env``data/` 数据目录
4. 构建并启动 Docker 容器
5. 等待健康检查通过
6. 输出访问地址和默认账号
### 部署成功示例输出
```
==========================================
云端浏览器部署完成
==========================================
访问地址: http://1.2.3.4:32450
默认账号: admin
默认密码: admin
安装目录: /opt/cloud-browser
==========================================
```
---
## 三、手动部署
### 1. 克隆代码
```bash
git clone https://git.bz121.com/dekun/cloud-browser.git /opt/cloud-browser
cd /opt/cloud-browser
```
### 2. 配置环境变量(可选)
```bash
cp .env.example .env
nano .env
```
| 变量 | 说明 | 默认值 |
|------|------|--------|
| `APP_PORT` | 宿主机端口 | `32450` |
| `MAX_SESSIONS` | 最大并发会话 | `1` |
| `SESSION_IDLE_TIMEOUT` | 空闲超时(秒) | `1800` |
| `VIEWPORT_WIDTH` | 浏览器宽度 | `1280` |
| `VIEWPORT_HEIGHT` | 浏览器高度 | `720` |
| `SCREENCAST_QUALITY` | 画面质量 10-100 | `80` |
### 3. 启动服务
```bash
mkdir -p data
docker compose up -d --build
```
### 4. 验证
```bash
curl http://127.0.0.1:32450/api/health
# {"status":"ok","sessions":0}
```
浏览器访问 `http://服务器IP:32450`,使用 `admin` / `admin` 登录。
---
## 四、登录与修改密码
1. 打开首页,输入默认账号 `admin`、密码 `admin` 登录
2. 登录后点击右上角 **「账号设置」**
3. 填写当前用户名、当前密码、新用户名、新密码
4. 保存后自动退出,使用新凭据重新登录
账号信息保存在 `/opt/cloud-browser/data/auth.json`,容器重启后不会丢失。
---
## 五、反向代理(自行配置)
服务默认监听 `32450` 端口。若需通过域名 + HTTPS 访问,请在宝塔/Nginx 中自行配置反向代理。
目标地址:
```
http://127.0.0.1:32450
```
**注意**:浏览页面使用 WebSocket(路径 `/ws/`),反代时需开启 WebSocket 支持(Upgrade 头)。
---
## 六、运维命令
```bash
cd /opt/cloud-browser
# 查看运行状态
docker compose ps
# 查看日志
docker compose logs -f app
# 重启
docker compose restart
# 停止
docker compose down
# 更新代码并重新部署
bash deploy.sh
```
---
## 七、防火墙
确保服务器防火墙 / 安全组放行 **32450** 端口(若直接通过 IP 访问):
```bash
# ufw 示例
ufw allow 32450/tcp
# firewalld 示例
firewall-cmd --permanent --add-port=32450/tcp
firewall-cmd --reload
```
若仅通过 Nginx 反代访问,可不对公网开放 32450,仅本机 `127.0.0.1` 访问即可。
---
## 八、常见问题
### 部署脚本报错 `set: pipefail: invalid option`
脚本在 Windows 编辑后可能带 CRLF 换行符,在 Linux 上会报错。修复:
```bash
sed -i 's/\r$//' /opt/cloud-browser/deploy.sh
bash /opt/cloud-browser/deploy.sh
```
或重新拉取最新代码
```bash
cd /opt/cloud-browser && git pull && bash deploy.sh
```
---
```bash
sudo su -
bash deploy.sh
```
### 端口被占用
修改 `/opt/cloud-browser/.env` 中的 `APP_PORT`,然后:
```bash
cd /opt/cloud-browser
docker compose down
docker compose up -d
```
### 页面黑屏
```bash
docker compose logs -f app
```
常见原因:内存不足(建议 ≥ 2GB)、Chromium 启动失败
### WebSocket 连接失败
若使用了 Nginx 反代,检查是否配置了 WebSocket Upgrade 支持。
### 忘记密码
```bash
cd /opt/cloud-browser
docker compose down
rm -f data/auth.json data/secret.key
docker compose up -d
```
将恢复为默认账号 `admin` / `admin`**会清除已修改的密码**)。
---
## 九、卸载
```bash
cd /opt/cloud-browser
docker compose down
cd /
rm -rf /opt/cloud-browser
```