51 lines
1.3 KiB
Bash
51 lines
1.3 KiB
Bash
#!/bin/bash
|
|
# 【方案一】标准修复版
|
|
|
|
# 1. 强力修复 Docker 环境 (这是最核心的一步)
|
|
echo "正在配置 Docker 为 VFS 驱动..."
|
|
systemctl stop docker 2>/dev/null
|
|
mkdir -p /etc/docker
|
|
cat > /etc/docker/daemon.json <<EOF
|
|
{
|
|
"storage-driver": "vfs",
|
|
"iptables": true
|
|
}
|
|
EOF
|
|
systemctl start docker
|
|
|
|
# 2. 准备目录
|
|
INSTALL_DIR="/vol1/1000/dock/rustdesk"
|
|
mkdir -p "$INSTALL_DIR/data"
|
|
cd "$INSTALL_DIR"
|
|
|
|
# 3. 获取公网IP
|
|
HOST_IP=$(curl -s4 ifconfig.me)
|
|
if [[ -z "$HOST_IP" ]]; then read -p "请输入公网IP: " HOST_IP; fi
|
|
|
|
# 4. 生成配置 (使用 host 网络模式,这比 bridge 模式更稳)
|
|
cat > rustdesk.yml <<EOF
|
|
services:
|
|
hbbs:
|
|
container_name: rustdesk-hbbs
|
|
image: rustdesk/rustdesk-server:latest
|
|
command: hbbs -r ${HOST_IP}:21117 -k _
|
|
volumes:
|
|
- ./data:/root
|
|
network_mode: "host" # 直接使用宿主机网络,无需映射端口
|
|
privileged: true # 特权模式
|
|
restart: always
|
|
|
|
hbbr:
|
|
container_name: rustdesk-hbbr
|
|
image: rustdesk/rustdesk-server:latest
|
|
command: hbbr -k _
|
|
volumes:
|
|
- ./data:/root
|
|
network_mode: "host"
|
|
privileged: true
|
|
restart: always
|
|
EOF
|
|
|
|
# 5. 启动
|
|
docker compose -f rustdesk.yml up -d
|
|
echo "部署完成。Key 文件位于: $INSTALL_DIR/data/id_ed25519.pub" |