Browse Source

更新docker

liuyuqi-dellpc 8 months ago
parent
commit
1a4ad82c8e
4 changed files with 128 additions and 186 deletions
  1. 2 180
      README.md
  2. 24 0
      docker-compose.yml
  3. 65 0
      docs/deploy.md
  4. 37 6
      docs/dev.md

+ 2 - 180
README.md

@@ -5,186 +5,8 @@ Open source virtual / remote desktop infrastructure for everyone! The open sourc
 
 ## Develop
 
-包含服务端和client
+包含服务端和 client, 详细查看 [开发文档](docs/dev.md),[部署文档](docs/deploy.md)
 
-**pc 客户端**,Desktop versions use Sciter for GUI
+## Reference
 
-```
-git clone https://github.com/microsoft/vcpkg
-cd vcpkg
-git checkout 2023.04.15
-cd ..
-vcpkg/bootstrap-vcpkg.bat
-export VCPKG_ROOT=$PWD/vcpkg
-vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
 
-
-
-```
-
-**Android:**
-
-需要ndk,flutter,Rust,https://rustdesk.com/docs/en/dev/build/android/
-```
-# 编译生成 generated_bridge
-cd rustdesk
-git clone https://github.com/rustdesk/rustdesk
-
-sudo apt install ca-certificates -y
-sudo apt update -y
-sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config
-
-
-cargo install flutter_rust_bridge_codegen
-pushd flutter && flutter pub get && popd
-
-~/.cargo/bin/flutter_rust_bridge_codegen --rust-input ./src/flutter_ffi.rs --dart-output ./flutter/lib/generated_bridge.dart
-
-# 编译flutter项目
-sudo apt update -y
-sudo apt-get -qq install -y  git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake libclang-dev ninja-build libappindicator3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libvdpau-dev libva-dev libclang-dev llvm-dev libclang-10-dev llvm-10-dev pkg-config tree g++ libc6-dev gcc-multilib g++-multilib openjdk-11-jdk-headless
-
-dart pub global activate ffigen 5.0.1
-
-pushd /opt
-sudo wget https://github.com/rustdesk/doc.rustdesk.com/releases/download/console/dep.tar.gz
-sudo tar xzf dep.tar.gz
-popd
-
-
-
-```
-
-
-**服务端:**
-
-* hbbs- RustDesk ID/Rendezvous 服务器
-
-* hbbr- RustDesk 中继服务器
-
-开放端口:
-TCP(21115、21116、21117、21118、21119)
-
-UDP ( 21116 )
-
-其中hbbs侦听 21115 (TCP)、21116 (TCP/UDP) 和 21118 (TCP),hbbr侦听 21117 (TCP) 和 21119 (TCP)
-
-先安装依赖:
-
-```
-sudo apt install -y zip g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev \
-        libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake make \
-        libclang-dev ninja-build libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
-
-# 或者yum
-sudo yum -y install gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel
-
-# 安装vcpkg
-git clone https://github.com/microsoft/vcpkg
-cd vcpkg
-git checkout 2023.04.15
-cd ..
-vcpkg/bootstrap-vcpkg.sh
-export VCPKG_ROOT=$HOME/vcpkg
-vcpkg/vcpkg install libvpx libyuv opus aom
-```
-
-
-
-源码编译:
-
-```
-curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-source $HOME/.cargo/env
-git clone https://github.com/rustdesk/rustdesk
-cd rustdesk
-mkdir -p target/debug
-wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
-mv libsciter-gtk.so target/debug
-VCPKG_ROOT=$HOME/vcpkg cargo run
-```
-
-
-
-编译环境很多,为此可以基于Ubuntu打包一个开发容器来快速编译:
-
-```
-docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
-
-```
-
-
-
-
-
-服务器配置: 2核4G内内存
-
-
-https://github.com/rustdesk/rustdesk-server/releases/latest
-
-https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/
-
-release 下载,
-
-```
-ufw allow proto tcp from YOURIP to any port 22
-
-ufw allow 21115:21119/tcp
-ufw allow 8000/tcp
-ufw allow 21116/udp
-sudo ufw enable
-
-wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
-chmod +x install.sh
-./install.sh
-
-
-./hbbs -r <relay-server-ip[:port]>
-./hbbr
-
-hbbs.example.com:21116
-
-```
-
-或者docker安装:
-```
-version: '3'
-
-services:
-  hbbs:
-    container_name: hbbs
-    image: rustdesk/rustdesk-server:latest
-    command: hbbs
-    volumes:
-      - ./data:/root
-    network_mode: "host"
-
-    depends_on:
-      - hbbr
-    restart: unless-stopped
-
-
-  hbbr:
-    container_name: hbbr
-    image: rustdesk/rustdesk-server:latest
-    command: hbbr
-    volumes:
-      - ./data:/root
-    network_mode: "host"
-    restart: unless-stopped
-
-```
-
-启动服务:
-
-```
-docker compser -d up
-
-# 查询key并记录
-cat ·/data/id_xx.pub
-
-docker logs -f hbbs
-
-```
-
-然后在客户端配置服务器地址和Key

+ 24 - 0
docker-compose.yml

@@ -0,0 +1,24 @@
+version: '3.4'
+
+services:
+  hbbs:
+    container_name: hbbs
+    image: rustdesk/rustdesk-server:latest
+    command: hbbs
+    volumes:
+      - ./data:/root
+    network_mode: "host"
+
+    depends_on:
+      - hbbr
+    restart: unless-stopped
+
+
+  hbbr:
+    container_name: hbbr
+    image: rustdesk/rustdesk-server:latest
+    command: hbbr
+    volumes:
+      - ./data:/root
+    network_mode: "host"
+    restart: unless-stopped

+ 65 - 0
docs/deploy.md

@@ -0,0 +1,65 @@
+# deploy
+
+客户端编译查看 dev 文档,服务端部署采用 docker 方式快速部署,或者二进制部署。包含两个服务器:
+
+* hbbs- RustDesk ID/Rendezvous 服务器
+* hbbr- RustDesk 中继服务器
+
+开放端口:
+TCP(21115、21116、21117、21118、21119)
+
+UDP ( 21116 )
+
+其中 hbbs 侦听 21115 (TCP)、21116 (TCP/UDP) 和 21118 (TCP),hbbr侦听 21117 (TCP) 和 21119 (TCP)
+
+服务器最低配置: 2核4G内内存
+
+## docker部署
+
+启动服务:
+
+```
+docker compser -d up
+
+# 查询key并记录
+cat ·/data/id_xx.pub
+
+docker logs -f hbbs
+
+```
+
+然后在客户端配置服务器地址和Key
+
+## 二进制部署
+
+https://github.com/rustdesk/rustdesk-server/releases/latest
+
+https://rustdesk.com/docs/en/self-host/rustdesk-server-oss/install/
+
+release 下载,
+
+```
+ufw allow proto tcp from YOURIP to any port 22
+
+ufw allow 21115:21119/tcp
+ufw allow 8000/tcp
+ufw allow 21116/udp
+sudo ufw enable
+
+wget https://raw.githubusercontent.com/techahold/rustdeskinstall/master/install.sh
+chmod +x install.sh
+./install.sh
+
+
+./hbbs -r <relay-server-ip[:port]>
+./hbbr
+
+hbbs.example.com:21116
+
+```
+
+## 分布式部署
+
+
+
+

+ 37 - 6
dev.md → docs/dev.md

@@ -1,20 +1,24 @@
 # dev
 
+服务端采用rust 语言开发,客户端采用 flutter开发,windows 客户端依赖 vcpkg 界面功能。
+
 ## 构建开发容器
 
+构建开发容器,可以直接在codespaces中运行:
+
 .devcontainer\Dockerfile 
 ```
 # 安装依赖
 RUN sudo apt update -y && sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang libxcb-randr0-dev libxdo-dev libxfixes-dev libxcb-shape0-dev libxcb-xfixes0-dev libasound2-dev libpulse-dev cmake unzip zip sudo libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
 
-# 安装vcpkg
+# 安装 vcpkg
 RUN git clone https://github.com/microsoft/vcpkg 
 WORKDIR vcpkg
 RUN git checkout 2023.04.15
 RUN /vcpkg/bootstrap-vcpkg.sh -disableMetrics
 ENV VCPKG_ROOT=/vcpkg
 
-# 安装rust
+# 安装 rust
 RUN wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.lnx/x64/libsciter-gtk.so
 RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh
 RUN chmod +x rustup.sh
@@ -55,10 +59,11 @@ ENV http_proxy=http://host:port
 ENV https_proxy=http://host:port
 ```
 
-构建镜像
+构建和运行
 ```
 docker build -t "rustdesk-builder" . --build-arg http_proxy=http://host:port --build-arg https_proxy=http://host:port
 
+# 启动 rustdesk-builder 容器构建
 docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user/.cargo/git -v rustdesk-registry-cache:/home/user/.cargo/registry -e PUID="$(id -u)" -e PGID="$(id -g)" rustdesk-builder
 
 # 运行
@@ -66,16 +71,42 @@ docker run --rm -it -v $PWD:/home/user/rustdesk -v rustdesk-git-cache:/home/user
 ```
 
 
-## 构建本地开发环境
+## 构建 Ubuntu 本地开发环境
 
-依照dockerfile中参考,安装并构建:
+跨平台项目一般都在Linux上开发,可以依照 dockerfile 中参考,安装并构建:
 
 ```
+sudo apt install ca-certificates -y
+sudo apt update -y
+sudo apt install -y g++ gcc git curl wget nasm yasm libgtk-3-dev clang cmake libclang-dev ninja-build llvm-dev libclang-10-dev llvm-10-dev pkg-config
+
+git clone https://github.com/microsoft/vcpkg
+cd vcpkg
+git checkout 2023.04.15
+cd ..
+vcpkg/bootstrap-vcpkg.bat
+export VCPKG_ROOT=$PWD/vcpkg
+vcpkg/vcpkg install libvpx:x64-windows-static libyuv:x64-windows-static opus:x64-windows-static aom:x64-windows-static
+
+curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
+source $HOME/.cargo/env
+
 git clone https://github.com/rustdesk/rustdesk
 cd rustdesk
 mkdir -p target/debug
 wget https://raw.githubusercontent.com/c-smile/sciter-sdk/master/bin.win/x64/sciter.dll
 mv sciter.dll target/debug
-cargo run
+cargo install
+VCPKG_ROOT=$HOME/vcpkg cargo run
+
+flutter_rust_bridge_codegen pushd flutter && flutter pub get && popd
+
+```
+
+## 构建 windows 本地开发环境
+
+也可以在windows开发,安装rust,flutter,Android,vs,vcpkg等:
+
+```
 
 ```