Rustdesk Docker
Rustdesk Docker
Explore / linuxserver/rustdesk
linuxserver/rustdesk
By linuxserver • Updated 3 days ago
IMAGE
6 9.8K
Overview Tags
weekly base OS updates with common layers across the entire LinuxServer.io
ecosystem to minimise space usage, down time and bandwidth
Find us at:
Blog - all the things you can do with our containers including How-To guides,
opinions and much more!
https://hub.docker.com/r/linuxserver/rustdesk 1/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Discord - realtime support / chat with the community and the team.
Fleet - an online web interface which displays all of our maintained images.
linuxserver/rustdesk
S TA R S 15 RELEASE V1.3.3-LS25 LINUXSERVER.IO GITHUB PACKAGE
RustDesk is a full-featured open source remote control alternative for self-hosting and
security with minimal configuration.
Supported Architectures
We utilise the docker manifest for multi-platform awareness. More information is available from
docker here and our announcement here .
armhf ❌
Application Setup
https://hub.docker.com/r/linuxserver/rustdesk 2/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
http://yourhost:3000/
https://yourhost:3001/
Modern GUI desktop apps have issues with the latest Docker and syscall compatibility, you can
use Docker with the --security-opt seccomp=unconfined setting to allow these
syscalls on hosts with older Kernels or libseccomp
Security
[!WARNING] Do not put this on the Internet if you do not know what you are
doing.
By default this container has no authentication and the optional environment variables
CUSTOM_USER and PASSWORD to enable basic http auth via the embedded NGINX server
should only be used to locally secure the container from unwanted access on a local network. If
exposing this to the Internet we recommend putting it behind a reverse proxy, such as SWAG ,
and ensuring a secure authentication solution is in place. From the web interface a terminal can
be launched and it is configured for passwordless sudo, so anyone with access to it can install
and run whatever they want along with probing your local network.
This container is based on Docker Baseimage KasmVNC which means there are additional
environment variables and run configurations to enable or disable specific functionality.
Variable Description
https://hub.docker.com/r/linuxserver/rustdesk 3/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Variable Description
This is the home directory (landing) for the file manager, default
FM_HOME
"/config".
Variable Description
The environment variable LC_ALL can be used to start this container in a different language
than English simply pass for example to launch the Desktop session in French
LC_ALL=fr_FR.UTF-8 . Some languages like Chinese, Japanese, or Korean will be missing
https://hub.docker.com/r/linuxserver/rustdesk 4/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
fonts needed to render properly known as cjk fonts, but others may exist and not be installed
inside the container depending on what underlying distribution you are running. We only ensure
fonts for Latin characters are present. Fonts can be installed with a mod on startup.
To install cjk fonts on startup as an example pass the environment variables (Alpine base):
-e DOCKER_MODS=linuxserver/mods:universal-package-install
-e INSTALL_PACKAGES=fonts-noto-cjk
-e LC_ALL=zh_CN.UTF-8
The web interface has the option for "IME Input Mode" in Settings which will allow non english
characters to be used from a non en_US keyboard on the client. Once enabled it will perform the
same as a local Linux installation set to your locale.
For accelerated apps or games, render devices can be mounted into the container and
leveraged by applications using:
--device /dev/dri:/dev/dri
Driver Description
AMD AMDGPU, Radeon, and ATI drivers for AMD dedicated or APU chipsets
NVIDIA nouveau2 drivers only, closed source NVIDIA drivers lack DRI3 support
The DRINODE environment variable can be used to point to a specific GPU. Up to date
information can be found here
Nvidia support is not compatible with Alpine based images as Alpine lacks Nvidia drivers
Nvidia support is available by leveraging Zink for OpenGL support. This can be enabled with the
following run flags:
Variable Description
This can be filtered down but for most setups this will pass the one Nvidia
--gpus all
GPU on the system
--runtime
Specify the Nvidia runtime which mounts drivers and tools in from the host
nvidia
The compose syntax is slightly different for this as you will need to set nvidia as the default
runtime:
https://hub.docker.com/r/linuxserver/rustdesk 5/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
services:
rustdesk:
image: lscr.io/linuxserver/rustdesk:latest
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [compute,video,graphics,utility]
Application management
PRoot Apps
If you run system native installations of software IE sudo apt-get install filezilla
and then upgrade or destroy/re-create the container that software will be removed and the
container will be at a clean state. For some users that will be acceptable and they can update
their system packages as well using system native commands like apt-get upgrade . If
you want Docker to handle upgrading the container and retain your applications and settings we
have created proot-apps which allow portable applications to be installed to persistent
storage in the user's $HOME directory and they will work in a confined Docker environment out
of the box. These applications and their settings will persist upgrades of the base container and
can be mounted into different flavors of KasmVNC based containers on the fly. This can be
achieved from the command line with:
PRoot Apps is included in all KasmVNC based containers, a list of linuxserver.io supported
applications is located HERE .
Native Apps
environment:
- DOCKER_MODS=linuxserver/mods:universal-package-install
- INSTALL_PACKAGES=libfuse2|git|gdb
Usage
https://hub.docker.com/r/linuxserver/rustdesk 6/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
To help you get started creating a container from this image you can either use docker-
compose or the docker cli.
---
services:
rustdesk:
image: lscr.io/linuxserver/rustdesk:latest
container_name: rustdesk
security_opt:
- seccomp:unconfined #optional
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- /path/to/config:/config
ports:
- 3000:3000
- 3001:3001
restart: unless-stopped
docker run -d \
--name=rustdesk \
--security-opt seccomp=unconfined `#optional` \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-p 3000:3000 \
-p 3001:3001 \
-v /path/to/config:/config \
--restart unless-stopped \
lscr.io/linuxserver/rustdesk:latest
Parameters
Containers are configured using parameters passed at runtime (such as those above). These
parameters are separated by a colon and indicate <external>:<internal> respectively.
For example, -p 8080:80 would expose port 80 from inside the container to be
accessible from the host's IP on port 8080 outside the container.
Parameter Function
https://hub.docker.com/r/linuxserver/rustdesk 7/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Parameter Function
For Docker Engine only, many modern gui apps need this
--security-opt
to function on older hosts as syscalls are unknown to
seccomp=unconfined
Docker.
You can set any environment variable from a file by using a special prepend FILE__ .
As an example:
-e FILE__MYVAR=/run/secrets/mysecretvariable
Will set the environment variable MYVAR based on the contents of the
/run/secrets/mysecretvariable file.
For all of our images we provide the ability to override the default umask settings for services
started within the containers using the optional -e UMASK=022 setting. Keep in mind umask
is not chmod it subtracts from permissions based on it's value it does not add. Please read up
here before asking for support.
When using volumes ( -v flags), permissions issues can arise between the host OS and the
container, we avoid this issue by allowing you to specify the user PUID and group PGID .
Ensure any volume directories on the host are owned by the same user you specify and any
permissions issues will vanish like magic.
id your_user
Example output:
https://hub.docker.com/r/linuxserver/rustdesk 8/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Docker Mods
We publish various Docker Mods to enable additional functionality within the containers. The
list of Mods available for this image (if any) as well as universal mods that can be applied to
any one of our images can be accessed via the dynamic badges above.
Support Info
Updating Info
Most of our images are static, versioned, and require an image update and container recreation
to update the app inside. With some exceptions (noted in the relevant readme.md), we do not
recommend or support updating apps inside the container. Please consult the Application Setup
section above to see if it is recommended for the image.
https://hub.docker.com/r/linuxserver/rustdesk 9/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Update images:
All images:
docker-compose pull
Single image:
Update containers:
All containers:
docker-compose up -d
Single container:
docker-compose up -d rustdesk
https://hub.docker.com/r/linuxserver/rustdesk 10/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
docker arm
Recreate newrustdesk
container with the same docker run parameters as instructed above (if
mapped correctly to a host folder, your /config folder and settings will be
preserved)
Building locally
If you want to make local modifications to these images for development purposes or just to
customize the logic:
The ARM variants can be built on x86_64 hardware and vice versa using
lscr.io/linuxserver/qemu-static
Once registered you can define the dockerfile to use with -f Dockerfile.aarch64 .
Versions
https://hub.docker.com/r/linuxserver/rustdesk 11/12
12/1/24, 10:48 AM linuxserver/rustdesk - Docker Image | Docker Hub
Features
Container Runtime
Developer Tools
Docker App
Kubernetes
Company
About Us
Resources
Blog
Customers
Partners
Newsroom
Events and Webinars
Careers
Contact Us
System Status
© 2024 Docker, Inc. All rights reserved. | Terms of Service | Subscription Service Agreement |
Privacy | Legal
https://hub.docker.com/r/linuxserver/rustdesk 12/12