Skip to content

Commit 140ac34

Browse files
authored
Merge pull request #4 from linuxserver-labs/kasmvnc
rebase to kasmvnc
2 parents 9a3a5c7 + cdc568b commit 140ac34

File tree

5 files changed

+42
-8
lines changed

5 files changed

+42
-8
lines changed

.github/workflows/call-build-image.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ jobs:
1414
release_type: "github_tag"
1515
release_url: "https://api.github.com/repos/nomacs/nomacs"
1616
release_name: ""
17-
target-arch: "all"
17+
target-arch: "64"
1818
secrets:
1919
scarf_token: ${{ secrets.SCARF_TOKEN }}

Dockerfile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:jammy
1+
FROM ghcr.io/linuxserver/baseimage-kasmvnc:ubuntujammy
22

33
ARG BUILD_DATE
44
ARG VERSION
@@ -67,6 +67,7 @@ RUN \
6767
make && \
6868
make install && \
6969
ldconfig && \
70+
sed -i 's|</applications>| <application title="nomacs \| Image Lounge" type="normal">\n <maximized>yes</maximized>\n </application>\n</applications>|' /etc/xdg/openbox/rc.xml && \
7071
echo "**** clean up ****" && \
7172
apt-get purge --auto-remove -y \
7273
build-essential \

README.md

Lines changed: 36 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,37 @@ The architectures supported by this image are:
5656

5757
## Application Setup
5858

59-
The webui will be accessible at http://SERVERIP:PORT
59+
The webui will be accessible at http://SERVERIP:3000 or https://SERVERIP:3001
60+
61+
### Options in all KasmVNC based GUI containers
62+
63+
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.
64+
65+
#### Optional environment variables
66+
67+
| Variable | Description |
68+
| :----: | --- |
69+
| CUSTOM_PORT | Internal port the container listens on for http if it needs to be swapped from the default 3000. |
70+
| CUSTOM_HTTPS_PORT | Internal port the container listens on for https if it needs to be swapped from the default 3001. |
71+
| CUSTOM_USER | HTTP Basic auth username, abc is default. |
72+
| PASSWORD | HTTP Basic auth password, abc is default. If unset there will be no auth |
73+
| SUBFOLDER | Subfolder for the application if running a subfolder reverse proxy, need both slashes IE `/subfolder/` |
74+
| TITLE | The page title displayed on the web browser, default "KasmVNC Client". |
75+
| FM_HOME | This is the home directory (landing) for the file manager, default "/config". |
76+
| START_DOCKER | If set to false a container with privilege will not automatically start the DinD Docker setup. |
77+
| 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` |
78+
79+
#### Optional run configurations
80+
81+
| Variable | Description |
82+
| :----: | --- |
83+
| `--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`. |
84+
| `-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. |
85+
| `--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) |
86+
87+
### Lossless mode
88+
89+
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).
6090

6191
## Usage
6292

@@ -79,6 +109,7 @@ services:
79109
- TZ=Europe/London
80110
ports:
81111
- 3000:3000
112+
- 3001:3001
82113
volumes:
83114
- /path/to/appdata:/config
84115
restart: unless-stopped
@@ -94,6 +125,7 @@ docker run -d \
94125
-e PGID=1000 \
95126
-e TZ=Europe/London \
96127
-p 3000:3000 \
128+
-p 3001:3001 \
97129
-v /path/to/appdata:/config \
98130
--restart unless-stopped \
99131
lscr.io/linuxserver-labs/nomacs:latest
@@ -108,7 +140,8 @@ Container images are configured using parameters passed at runtime (such as thos
108140
| `-e PUID=1000` | for UserID - see below for explanation |
109141
| `-e PGID=1000` | for GroupID - see below for explanation |
110142
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
111-
| `-p 3000` | The webui port. |
143+
| `-p 3000` | The webui http port. |
144+
| `-p 3001` | The webui https port. |
112145
| `-v /config` | The folder on host you'd like the app data to reside in. |
113146
| `--security-opt seccomp=unconfined` | For Docker Engine only, many modern gui apps need this to function as syscalls are unkown to Docker. |
114147

@@ -221,5 +254,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
221254

222255
## Versions
223256

257+
* **27.03.22:** - Rebase to the new kasmvnc baseimage. Deprecate arm32v7 build as the new base does not support it.
224258
* **10.12.22:** - Add support for AVIF and JPEG XL.
225259
* **12.10.22:** - Initial Release.

root/defaults/menu.xml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
<menu id="root-menu" label="MENU">
44
<item label="Nomacs"><action name="Execute"><command>/usr/local/bin/nomacs</command></action></item>
55
<item label="xterm" icon="/usr/share/pixmaps/xterm-color_48x48.xpm"><action name="Execute"><command>/usr/bin/xterm</command></action></item>
6-
<item label="Reload OB"><action name="Reconfigure"/></item>
76
</menu>
8-
</openbox_menu>
7+
</openbox_menu>

root/etc/s6-overlay/s6-rc.d/init-nomacs-config/run

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
if [ ! -f /config/.config/openbox/menu.xml ]; then
55
mkdir -p /config/.config/openbox
66
cp /defaults/menu.xml /config/.config/openbox/menu.xml
7-
chown -R abc:abc /config/.config
7+
lsiown -R abc:abc /config/.config
88
fi
99

1010
# permissions
11-
chown -R abc:abc \
11+
lsiown -R abc:abc \
1212
/config \

0 commit comments

Comments
 (0)