diff --git a/Dockerfile b/Dockerfile index 96fb93c..b4c8885 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM ghcr.io/linuxserver/baseimage-rdesktop-web:jammy +FROM ghcr.io/linuxserver/baseimage-kasmvnc:ubuntujammy # set version label ARG BUILD_DATE @@ -9,6 +9,9 @@ LABEL maintainer="thelamer" ARG DEBIAN_FRONTEND="noninteractive" +# title +ENV TITLE=MySQL-Workbench + RUN \ echo "**** install packages ****" && \ apt-get update && \ diff --git a/README.md b/README.md index ea7b6be..5233a3f 100644 --- a/README.md +++ b/README.md @@ -63,10 +63,37 @@ The architectures supported by this image are: The application can be accessed at: * http://yourhost:3000/ +* https://yourhost:3001/ -By default the user/pass is abc/abc, if you change your password or want to login manually to the GUI session for any reason use the following link: +### Options in all KasmVNC based GUI containers -* http://yourhost:3000/?login=true +This container is based on [Docker Baseimage KasmVNC](https://github.com/linuxserver/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](https://www.kasmweb.com/kasmvnc/docs/master/gpu_acceleration.html) 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](https://www.kasmweb.com/docs/latest/how_to/lossless.html#technical-background). 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](https://github.com/linuxserver/docker-baseimage-kasmvnc#lossless). ## Usage @@ -89,6 +116,7 @@ services: - /path/to/config:/config ports: - 3000:3000 + - 3001:3001 cap_add: - IPC_LOCK restart: unless-stopped @@ -103,6 +131,7 @@ docker run -d \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 3000:3000 \ + -p 3001:3001 \ -v /path/to/config:/config \ --cap-add="IPC_LOCK" \ --restart unless-stopped \ @@ -117,6 +146,7 @@ Container images are configured using parameters passed at runtime (such as thos | Parameter | Function | | :----: | --- | | `-p 3000` | Mysql Workbench desktop gui. | +| `-p 3001` | Mysql Workbench desktop gui HTTPS. | | `-e PUID=1000` | for UserID - see below for explanation | | `-e PGID=1000` | for GroupID - see below for explanation | | `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). | @@ -232,6 +262,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **18.03.23:** - Rebase to KasmVNC base image. * **15.09.22:** - Migrate to s6v3. * **26.07.22:** - Rebase on jammy. * **20.04.21:** - Rebase on focal. diff --git a/readme-vars.yml b/readme-vars.yml index 66772b1..35d741c 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -27,6 +27,7 @@ param_volumes: param_usage_include_ports: true param_ports: - { external_port: "3000", internal_port: "3000", port_desc: "Mysql Workbench desktop gui." } + - { external_port: "3001", internal_port: "3001", port_desc: "Mysql Workbench desktop gui HTTPS." } custom_params: - { name: "cap-add", name_compose: "cap_add", value: ["IPC_LOCK"], desc: "Required for keyring functionality", array: "true" } # application setup block @@ -35,13 +36,41 @@ app_setup_block: | The application can be accessed at: * http://yourhost:3000/ + * https://yourhost:3001/ - By default the user/pass is abc/abc, if you change your password or want to login manually to the GUI session for any reason use the following link: + ### Options in all KasmVNC based GUI containers - * http://yourhost:3000/?login=true + This container is based on [Docker Baseimage KasmVNC](https://github.com/linuxserver/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](https://www.kasmweb.com/kasmvnc/docs/master/gpu_acceleration.html) 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](https://www.kasmweb.com/docs/latest/how_to/lossless.html#technical-background). 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](https://github.com/linuxserver/docker-baseimage-kasmvnc#lossless). # changelog changelogs: + - { date: "18.03.23:", desc: "Rebase to KasmVNC base image." } - { date: "15.09.22:", desc: "Migrate to s6v3." } - { date: "26.07.22:", desc: "Rebase on jammy." } - { date: "20.04.21:", desc: "Rebase on focal." } diff --git a/root/defaults/menu.xml b/root/defaults/menu.xml new file mode 100755 index 0000000..15bcffd --- /dev/null +++ b/root/defaults/menu.xml @@ -0,0 +1,7 @@ + + + +/usr/bin/xterm +/usr/bin/mysql-workbench + +