Skip to content

danchitnis/container-xrdp

Repository files navigation

container-xrdp

Docker container for xrdp (both Xorg and Xvnc) currently based on Fedora, and Ubuntu. Full desktop environment Xfce is supported on both amd64 and arm64 hardware. No privilege or sys_cap is required on the host system. These containers are lightweight and ideal for rapid development and testing purposes. Notice that the state of the container is not persisted between runs. In order to persist the state of the container, see this guide.

How to use

First pull the container with the appropriate tag. the following tag combinations are available:

  • danchitnis/xrdp:ubuntu-xfce
  • danchitnis/xrdp:fedora-xfce
  • danchitnis/xrdp:amazon-mate (no longer supported)
  • danchitnis/xrdp:amazon-xfce (no longer supported)
  • danchitnis/xrdp:centos7-mate (no longer supported)
  • danchitnis/xrdp:centos7-xfce (no longer supported)
  • danchitnis/xrdp:centos8-xfce (no longer supported)

Example:

docker pull danchitnis/xrdp:ubuntu-xfce

You have to give username, password, and sudo ability as input arguments to the docker run command. Hence, each user has three parameters. The process will exit if the input arguments are incorrect. Please run as interactive mode at first instance.

Example when username is foo, password is bar and sudo ability is no:

docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar no

Similarly for detached mode

docker run -d -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar no

Once running, open Remote Desktop Connection. Enter "localhost:33890" as the address.

In this example username is foo and the password is bar.

Nightly builds

Nightly builds are available for the following tags:

  • danchitnis/xrdp:ubuntu-xfce-next
  • danchitnis/xrdp:fedora-xfce-next

simply replace the tag with the nightly tag to pull and run the nightly build.

Example:

docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce-next foo bar no

Please note that these nightly builds are built automatically and have not been tested. As a result, they may not work as expected. If the login fails, please try using the main tag.

Adding more users

You can add more users as a list of arguments and 3 inputs per user as described above

Example:

User Pass Sudo
foo bar yes
baz cox no
docker run -it -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar yes baz qux no

Sudo users

Adding a sudo user will give that user sudo ability so that you can run privileged command inside the container

For example start docker container with

docker run -d -p 33890:3389 danchitnis/xrdp:ubuntu-xfce foo bar yes

Once inside the container user foo can do this

sudo yum update

Notice that to give sudo ability, the third input parameter for each user should be explicitly yes, otherwise any other input will be ignored.

Build

Check the following guide for building your own containers.

Contributions

Inspired by frxyt/docker-xrdp

Ubuntu commands by danielguerra69/ubuntu-xrdp

xrdp service restrat by timwa0669