Merge pull request #78 from paspo/pack-release

Zipped release binaries
This commit is contained in:
RustDesk
2022-07-27 16:03:54 +08:00
committed by GitHub
2 changed files with 51 additions and 38 deletions

View File

@@ -75,45 +75,34 @@ jobs:
name: Github release
needs: build
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
job:
- { name: "amd64" }
- { name: "arm64v8" }
- { name: "armv7" }
- { name: "i386" }
steps:
- name: Download binaries (amd64)
- name: Download binaries (${{ matrix.job.name }})
uses: actions/download-artifact@v3
with:
name: binaries-amd64
path: amd64
name: binaries-${{ matrix.job.name }}
path: ${{ matrix.job.name }}
- name: Download binaries (arm64v8)
uses: actions/download-artifact@v3
with:
name: binaries-arm64v8
path: arm64v8
- name: Pack files (${{ matrix.job.name }})
run: |
sudo apt update
DEBIAN_FRONTEND=noninteractive sudo apt install -y zip
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)
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
- name: Create Release (${{ matrix.job.name }})
uses: softprops/action-gh-release@v1
with:
draft: true
files: |
amd64/*
arm64v8/*
armv7/*
i386/*
files: ${{ matrix.job.name }}/rustdesk-server-linux-${{ matrix.job.name }}.zip
# docker build and push of single-arch images
docker:

View File

@@ -16,10 +16,11 @@ Self-host your own RustDesk server, it is free and open source.
cargo build --release
```
Two executables will be generated in target/release.
Three executables will be generated in target/release.
- hbbs - RustDesk ID/Rendezvous 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.
@@ -31,7 +32,7 @@ Docker images are automatically generated and published on every github release.
### 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 |
| --- | --- |
@@ -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:
```bash
docker run --name hbbs --net=host -v "$PWD:/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 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/data:/root" -d rustdesk/rustdesk-server:latest hbbr
```
or without --net=host, but P2P direct connection can not work.
```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 hbbr -p 21117:21117 -p 21119:21119 -v "$PWD:/root" -d rustdesk/rustdesk-server:latest hbbr
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/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`.
@@ -74,7 +75,7 @@ services:
image: rustdesk/rustdesk-server:latest
command: hbbs -r rustdesk.example.com:21117
volumes:
- ./hbbs:/root
- ./data:/root
networks:
- rustdesk-net
depends_on:
@@ -89,7 +90,7 @@ services:
image: rustdesk/rustdesk-server:latest
command: hbbr
volumes:
- ./hbbr:/root
- ./data:/root
networks:
- rustdesk-net
restart: unless-stopped
@@ -279,9 +280,32 @@ secrets:
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 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:
- Ubuntu 22.04 LTS