Giter VIP home page Giter VIP logo

Comments (12)

schleyk avatar schleyk commented on July 29, 2024 5

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.

rustdesk avatar rustdesk commented on July 29, 2024

Noted

from rustdesk-server.

rustdesk avatar rustdesk commented on July 29, 2024

@schleyk Thanks!

from rustdesk-server.

schklom avatar schklom commented on July 29, 2024

@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.

rustdesk avatar rustdesk commented on July 29, 2024

@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.

schklom avatar schklom commented on July 29, 2024

@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.

schklom avatar schklom commented on July 29, 2024

@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.

rustdesk avatar rustdesk commented on July 29, 2024

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.

schklom avatar schklom commented on July 29, 2024

@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.

DijixH avatar DijixH commented on July 29, 2024

@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.

 avatar commented on July 29, 2024

Hello. Is it possible to have a docker image for ARMv7? I am currently hosting stuff with an Odroid HC2.

from rustdesk-server.

paspo avatar paspo commented on July 29, 2024

@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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.