Comments (12)
share my docker-compose.yml 😊
version: '3'
services:
hbbs:
image: rustdesk/rustdesk-server
command: hbbs -r rustdesk.example.org:21117
ports:
- 21115:21115
- 21116:21116
- 21116:21116/udp
- 21118:21118
volumes:
- ./data:/root
hbbr:
image: rustdesk/rustdesk-server
command: hbbr
ports:
- 21117:21117
- 21119:21119
volumes:
- ./data:/root
from rustdesk-server.
Noted
from rustdesk-server.
@schleyk Thanks!
from rustdesk-server.
@schleyk Thanks! I assume it is derived from https://rustdesk.com/docs/en/self-host/install/
While this makes it possible to self-host on arm64 and amd64, the lack of a Dockerfile still makes it difficult to use any other platform.
There is also some trust issue about using an image without being able to know how it was built.
@rustdesk Is there a reason to avoid publishing the Dockerfile or why it stopped being available?
from rustdesk-server.
@schklom Below is my docker file. I thought it is too simple, so that not worth sharing. :). I do not have a docker file building from source code. Do you bother help writing one? I can do also, but I prefer to build a community which we can help each other, just like what @schleyk has done.
FROM ubuntu:20.04
COPY target/release/hbbs /usr/bin/hbbs
COPY target/release/hbbr /usr/bin/hbbr
WORKDIR /root
from rustdesk-server.
@rustdesk Yes, I meant building from source :P
Given that images are only released for 2 platforms, I assume this Dockerfile likely wouldn't work on others. This is why I was wondering about building from source. I think it would help spread word of the project :)
I do not have a lot of time for testing right now, but I would start with the following Dockerfile and see what goes wrong on other platforms. GitHub Actions make building+testing+publishing fairly easy (complete example). Maybe replace the second scratch
by alpine
or ubuntu
if necessary.
FROM ubuntu AS builder
# Get curl to install cargo
RUN apt-get install -q -y curl
# Install cargo: https://doc.rust-lang.org/cargo/getting-started/installation.html
RUN curl https://sh.rustup.rs -sSf | sh
COPY . .
RUN cargo build --release
FROM scratch
COPY --from=builder target/release/hbbs /usr/bin/hbbs
COPY --from=builder target/release/hbbr /usr/bin/hbbr
WORKDIR /root
VOLUME /root
Also, it would be nice to know which port is responsible for the web interface, so that one knows how to access the web interface (I assume there is one?) and put a reverse-proxy to serve it with HTTPS.
from rustdesk-server.
@rustdesk If you're asking me for a Dockerfile, does it mean you produce an image on DockerHub without a Dockerfile?
I mean, how do you generate the image on https://hub.docker.com/r/rustdesk/rustdesk-server?
from rustdesk-server.
does it mean you produce an image on DockerHub without a Dockerfile?
Is it possible without Dockerfile? My way is not elegant. I have said below is my Dockerfile, it is not a joke.
FROM ubuntu:20.04
COPY target/release/hbbs /usr/bin/hbbs
COPY target/release/hbbr /usr/bin/hbbr
WORKDIR /root
from rustdesk-server.
@rustdesk I misunderstood what you wrote for some reason.
Thank you for the replies, I will go to sleep now and avoid further misunderstandings :P
from rustdesk-server.
@schklom @rustdesk I try to build a docker image with your first version of your Dockerfile, and it doesn't work. I try to bring some improvements.
Hope it's helpful !
FROM ubuntu:20.04 AS builder
# Get curl to install cargo
RUN apt-get update && apt-get install -y curl build-essential git
# Install cargo: https://doc.rust-lang.org/cargo/getting-started/installation.html in non-interractive mode
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y
# Configure shell to run cargo/rust commands
ENV PATH="/root/.cargo/bin:${PATH}"
# Get repo of rustdesk-server
RUN git clone https://github.com/rustdesk/rustdesk-server.git
# Change the directory to the repo folder
WORKDIR /rustdesk-server
RUN cargo build --release
FROM ubuntu:20.04
COPY --from=builder /rustdesk-server/target/release/hbbs /usr/bin/hbbs
COPY --from=builder /rustdesk-server/target/release/hbbr /usr/bin/hbbr
WORKDIR /root
VOLUME /root
EXPOSE 21115 21116 21118 21117 21119
Edit: I Replace scratch by ubuntu because on scratch and alpine image doesn't work.
from rustdesk-server.
Hello. Is it possible to have a docker image for ARMv7? I am currently hosting stuff with an Odroid HC2.
from rustdesk-server.
@lavanoid please don't use other user's issues for asking questions, open your own.
This issue can be closed, BTW.
At the moment, armv7 docker image is built only for s6-style docker images.
If you user rustdesk/rustdesk-server-s6:latest
the image with the correct architecture is used.
If you want to be sure, you can use the rustdesk/rustdesk-server-s6:latest-armv7
image
You can find the relative binaries here, in the "artifacts" section of each workflow run.
from rustdesk-server.
Related Issues (20)
- SSH support HOT 2
- WebSocket relay support
- About IP settings for ID/Relay server
- The client encountered an issue while using ipv6 HOT 1
- connection speed slow HOT 1
- Key Mismatch after update latest docker image HOT 17
- Hbbs - k problem
- Connected. Waiting for screen transfer HOT 2
- Issue starting the server-pro containers for hbbs/hbbr HOT 1
- Do not require s6 container to run as root
- Unable to send ALT TAB or Windows key to Android
- Slow connection after using API interface
- Some small questions about remote access
- Add option to log (failed) authentication attempts to enable the usage of tools like fail2ban and crowdsec HOT 1
- Lists of multiple servers and quick switching between servers
- hbbr using unexpected amount of memory and error out after a day in self-hosted setup
- Connection timed out
- Rustdesk exits after running for a period of time HOT 1
- client `Remote desktop is offline` or `Key mismatch` HOT 1
- The server sends the UDP packets via the wrong interface.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rustdesk-server.