mirror of
https://github.com/rustdesk/rustdesk-server.git
synced 2026-02-28 00:53:11 +08:00
47
.github/workflows/build.yaml
vendored
47
.github/workflows/build.yaml
vendored
@@ -75,45 +75,34 @@ jobs:
|
|||||||
name: Github release
|
name: Github release
|
||||||
needs: build
|
needs: build
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
matrix:
|
||||||
|
job:
|
||||||
|
- { name: "amd64" }
|
||||||
|
- { name: "arm64v8" }
|
||||||
|
- { name: "armv7" }
|
||||||
|
- { name: "i386" }
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
|
||||||
- name: Download binaries (amd64)
|
- name: Download binaries (${{ matrix.job.name }})
|
||||||
uses: actions/download-artifact@v3
|
uses: actions/download-artifact@v3
|
||||||
with:
|
with:
|
||||||
name: binaries-amd64
|
name: binaries-${{ matrix.job.name }}
|
||||||
path: amd64
|
path: ${{ matrix.job.name }}
|
||||||
|
|
||||||
- name: Download binaries (arm64v8)
|
- name: Pack files (${{ matrix.job.name }})
|
||||||
uses: actions/download-artifact@v3
|
run: |
|
||||||
with:
|
sudo apt update
|
||||||
name: binaries-arm64v8
|
DEBIAN_FRONTEND=noninteractive sudo apt install -y zip
|
||||||
path: arm64v8
|
zip ${{ matrix.job.name }}/rustdesk-server-linux-${{ matrix.job.name }}.zip ${{ matrix.job.name }}/hbbr ${{ matrix.job.name }}/hbbs ${{ matrix.job.name }}/rustdesk-utils
|
||||||
|
|
||||||
- name: Download binaries (armv7)
|
- name: Create Release (${{ matrix.job.name }})
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: binaries-armv7
|
|
||||||
path: armv7
|
|
||||||
|
|
||||||
- name: Download binaries (i386)
|
|
||||||
uses: actions/download-artifact@v3
|
|
||||||
with:
|
|
||||||
name: binaries-i386
|
|
||||||
path: i386
|
|
||||||
|
|
||||||
- name: Rename files
|
|
||||||
run: for arch in amd64 arm64v8 armv7 i386 ; do for b in hbbr hbbs rustdesk-utils ; do mv -v ${arch}/${b} ${arch}/${b}-${arch} ; done ; done
|
|
||||||
|
|
||||||
- name: Create Release
|
|
||||||
uses: softprops/action-gh-release@v1
|
uses: softprops/action-gh-release@v1
|
||||||
with:
|
with:
|
||||||
draft: true
|
draft: true
|
||||||
files: |
|
files: ${{ matrix.job.name }}/rustdesk-server-linux-${{ matrix.job.name }}.zip
|
||||||
amd64/*
|
|
||||||
arm64v8/*
|
|
||||||
armv7/*
|
|
||||||
i386/*
|
|
||||||
|
|
||||||
# docker build and push of single-arch images
|
# docker build and push of single-arch images
|
||||||
docker:
|
docker:
|
||||||
|
|||||||
42
README.md
42
README.md
@@ -16,10 +16,11 @@ Self-host your own RustDesk server, it is free and open source.
|
|||||||
cargo build --release
|
cargo build --release
|
||||||
```
|
```
|
||||||
|
|
||||||
Two executables will be generated in target/release.
|
Three executables will be generated in target/release.
|
||||||
|
|
||||||
- hbbs - RustDesk ID/Rendezvous server
|
- hbbs - RustDesk ID/Rendezvous server
|
||||||
- hbbr - RustDesk relay server
|
- hbbr - RustDesk relay server
|
||||||
|
- rustdesk-utils - RustDesk CLI utilities
|
||||||
|
|
||||||
You can find updated binaries on the [releases](https://github.com/rustdesk/rustdesk-server/releases) page.
|
You can find updated binaries on the [releases](https://github.com/rustdesk/rustdesk-server/releases) page.
|
||||||
|
|
||||||
@@ -31,7 +32,7 @@ Docker images are automatically generated and published on every github release.
|
|||||||
|
|
||||||
### Classic image
|
### Classic image
|
||||||
|
|
||||||
These images are build against `ubuntu-20.04` with the only addition of the binaries (both hbbr and hbbs). They're available on [Docker hub](https://hub.docker.com/r/rustdesk/rustdesk-server/) with these tags:
|
These images are build against `ubuntu-20.04` with the only addition of the main binaries (`hbbr` and `hbbs`). They're available on [Docker hub](https://hub.docker.com/r/rustdesk/rustdesk-server/) with these tags:
|
||||||
|
|
||||||
| architecture | image:tag |
|
| architecture | image:tag |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
@@ -41,15 +42,15 @@ These images are build against `ubuntu-20.04` with the only addition of the bina
|
|||||||
You can start these images directly with `docker run` with these commands:
|
You can start these images directly with `docker run` with these commands:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run --name hbbs --net=host -v "$PWD:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
|
docker run --name hbbs --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
|
||||||
docker run --name hbbr --net=host -v "$PWD:/root" -d rustdesk/rustdesk-server:latest hbbr
|
docker run --name hbbr --net=host -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
|
||||||
```
|
```
|
||||||
|
|
||||||
or without --net=host, but P2P direct connection can not work.
|
or without --net=host, but P2P direct connection can not work.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v "$PWD:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
|
docker run --name hbbs -p 21115:21115 -p 21116:21116 -p 21116:21116/udp -p 21118:21118 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbs -r <relay-server-ip[:port]>
|
||||||
docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD:/root" -d rustdesk/rustdesk-server:latest hbbr
|
docker run --name hbbr -p 21117:21117 -p 21119:21119 -v "$PWD/data:/root" -d rustdesk/rustdesk-server:latest hbbr
|
||||||
```
|
```
|
||||||
|
|
||||||
The `relay-server-ip` parameter is the IP address (or dns name) of the server running these containers. The **optional** `port` parameter has to be used if you use a port different than **21117** for `hbbr`.
|
The `relay-server-ip` parameter is the IP address (or dns name) of the server running these containers. The **optional** `port` parameter has to be used if you use a port different than **21117** for `hbbr`.
|
||||||
@@ -74,7 +75,7 @@ services:
|
|||||||
image: rustdesk/rustdesk-server:latest
|
image: rustdesk/rustdesk-server:latest
|
||||||
command: hbbs -r rustdesk.example.com:21117
|
command: hbbs -r rustdesk.example.com:21117
|
||||||
volumes:
|
volumes:
|
||||||
- ./hbbs:/root
|
- ./data:/root
|
||||||
networks:
|
networks:
|
||||||
- rustdesk-net
|
- rustdesk-net
|
||||||
depends_on:
|
depends_on:
|
||||||
@@ -89,7 +90,7 @@ services:
|
|||||||
image: rustdesk/rustdesk-server:latest
|
image: rustdesk/rustdesk-server:latest
|
||||||
command: hbbr
|
command: hbbr
|
||||||
volumes:
|
volumes:
|
||||||
- ./hbbr:/root
|
- ./data:/root
|
||||||
networks:
|
networks:
|
||||||
- rustdesk-net
|
- rustdesk-net
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
@@ -279,9 +280,32 @@ secrets:
|
|||||||
file: secrets/id_ed25519
|
file: secrets/id_ed25519
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## How to create a keypair
|
||||||
|
|
||||||
|
A keypair is needed for encryption; you can provide it, as explained before, but you need a way to create one.
|
||||||
|
|
||||||
|
You can use this command to generate a keypair:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
/usr/bin/rustdesk-utils genkeypair
|
||||||
|
```
|
||||||
|
|
||||||
|
If you don't have (or don't want) the `rustdesk-utils` package installed on your system, you can invoke the same command with docker:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker run --rm --entrypoint /usr/bin/rustdesk-utils rustdesk/rustdesk-server-s6:latest genkeypair
|
||||||
|
```
|
||||||
|
|
||||||
|
The output will be something like this:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Public Key: 8BLLhtzUBU/XKAH4mep3p+IX4DSApe7qbAwNH9nv4yA=
|
||||||
|
Secret Key: egAVd44u33ZEUIDTtksGcHeVeAwywarEdHmf99KM5ajwEsuG3NQFT9coAfiZ6nen4hfgNICl7upsDA0f2e/jIA==
|
||||||
|
```
|
||||||
|
|
||||||
## .deb packages
|
## .deb packages
|
||||||
|
|
||||||
.deb packages are available for each binary, you can find them in the [releases](https://github.com/rustdesk/rustdesk-server/releases).
|
Separate .deb packages are available for each binary, you can find them in the [releases](https://github.com/rustdesk/rustdesk-server/releases).
|
||||||
These packages are meant for the following distributions:
|
These packages are meant for the following distributions:
|
||||||
|
|
||||||
- Ubuntu 22.04 LTS
|
- Ubuntu 22.04 LTS
|
||||||
|
|||||||
Reference in New Issue
Block a user