Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 4.02 KB

README.md

File metadata and controls

91 lines (72 loc) · 4.02 KB

Docker Remote Desktop

Connect to a variety of different remote desktop services, directly from your browser.
Container based on Docker Baseimage KasmVNC by linuxserver with tint2, to expose a desktop-like environment to your browser.

The container comes preinstalled with the following remote desktop software:

Application Setup

The application can be accessed at:

Options in all KasmVNC based GUI containers

This container is based on Docker Baseimage KasmVNC which means there are additional environment variables and run configurations to enable or disable specific functionality.

Optional environment variables

Variable Description
CUSTOM_PORT Internal port the container listens on for http if it needs to be swapped from the default 3000.
CUSTOM_HTTPS_PORT Internal port the container listens on for https if it needs to be swapped from the default 3001.
CUSTOM_USER HTTP Basic auth username, abc is default.
PASSWORD HTTP Basic auth password, abc is default. If unset there will be no auth
SUBFOLDER Subfolder for the application if running a subfolder reverse proxy, need both slashes IE /subfolder/
TITLE The page title displayed on the web browser, default "KasmVNC Client".
FM_HOME This is the home directory (landing) for the file manager, default "/config".
START_DOCKER If set to false a container with privilege will not automatically start the DinD Docker setup.
DRINODE If mounting in /dev/dri for DRI3 GPU Acceleration allows you to specify the device to use IE /dev/dri/renderD128

Optional run configurations

Variable Description
--privileged Will start a Docker in Docker (DinD) setup inside the container to use docker in an isolated environment. For increased performance mount the Docker directory inside the container to the host IE -v /home/user/docker-data:/var/lib/docker.
-v /var/run/docker.sock:/var/run/docker.sock Mount in the host level Docker socket to either interact with it via CLI or use Docker enabled applications.
--device /dev/dri:/dev/dri Mount a GPU into the container, this can be used in conjunction with the DRINODE environment variable to leverage a host video card for GPU accelerated appplications. Only Open Source drivers are supported IE (Intel,AMDGPU,Radeon,ATI,Nouveau)

Lossless mode

This container is capable of delivering a true lossless image at a high framerate to your web browser by changing the Stream Quality preset to "Lossless", more information here. In order to use this mode from a non localhost endpoint the HTTPS port on 3001 needs to be used. If using a reverse proxy to port 3000 specific headers will need to be set as outlined here.

Usage

Some snippets to get you started.

docker-compose

services:
  docker-remote-desktop:
    image: ghcr.io/lanjelin/docker-remote-desktop:latest
    container_name: docker-remote-desktop
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Oslo
    ports:
      - "3000:3000" #http
      - "3001:3001" #https
    volumes:
      - /path/to/config:/config
    restart: unless-stopped

docker cli

docker run -d \
  --name=docker-remote-desktop \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=Europe/Oslo \
  -p 3000:3000 \
  -p 3001:3001 \
  -v /path/to/config:/config \
  --restart unless-stopped \
  ghcr.io/lanjelin/docker-remote-desktop:latest