This NoMachine for remote desktop access and administration.
10K+
Container images for running Linux virtual desktops with either:
This repository publishes multi-arch images (linux/amd64, linux/arm64) built from Fedora and Alpine bases.
eswees/nomachine:nomachine-base-latesteswees/nomachine:vnc-base-latesteswees/nomachine:novnc-latestnomachine-mate-latest, nomachine-xfce-latest, nomachine-kde-latestvnc-mate-latest, vnc-xfce-latest, vnc-kde-latestcustom-desktop-latestUSER (default: developer)PASSWORD (default: password)These are used by image entrypoints to create a user and configure authentication.
Run an XFCE desktop with VNC, then expose it in the browser through noVNC.
docker network create desktop-net
docker run -d \
--name vnc \
--network desktop-net \
-e USER=dev \
-e PASSWORD='ChangeMe123!' \
eswees/nomachine:vnc-xfce-latest \
startxfce4
docker run -d \
--name novnc \
--network desktop-net \
-p 8080:8080 \
eswees/nomachine:novnc-latest \
--listen 8080 --vnc vnc:5901
Open http://localhost:8080 in your browser.
Run a NoMachine desktop and connect using the NoMachine client.
docker run -d \
--name nomachine \
--privileged \
-e USER=dev \
-e PASSWORD='ChangeMe123!' \
-p 4000:4000/tcp \
-p 4000:4000/udp \
eswees/nomachine:nomachine-xfce-latest
Connect to localhost:4000 from the NoMachine desktop client.
Reference manifests are available under deploy/kubernetes/ for both NoMachine and VNC/noVNC deployments.
The novnc container is a sidecar in the same pod as vnc-container.
Minimal manifest snippet:
apiVersion: apps/v1
kind: Deployment
metadata:
name: vnc-deployment
spec:
replicas: 1
selector:
matchLabels:
app: vnc
template:
metadata:
labels:
app: vnc
spec:
containers:
# Sidecar that exposes VNC in browser over WebSocket
- name: novnc
image: docker.io/eswees/nomachine:novnc-latest
args: ["--listen", "8080", "--vnc", "localhost:5901"]
ports:
- containerPort: 8080
# Main desktop container
- name: vnc-container
image: docker.io/eswees/nomachine:vnc-base-latest
env:
- name: USER
value: dev
- name: PASSWORD
value: "123456"
ports:
- containerPort: 5901
---
apiVersion: v1
kind: Service
metadata:
name: vnc-web-service
spec:
selector:
app: vnc
ports:
- port: 8080
targetPort: 8080
Minimal manifest snippet:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nomachine-deployment
spec:
replicas: 1
selector:
matchLabels:
app: nomachine
template:
metadata:
labels:
app: nomachine
spec:
containers:
- name: nomachine
image: docker.io/eswees/nomachine:nomachine-xfce-latest
securityContext:
privileged: true
env:
- name: USER
value: dev
- name: PASSWORD
value: "ChangeMe123!"
ports:
- name: nx-tcp
containerPort: 4000
protocol: TCP
- name: nx-udp
containerPort: 4000
protocol: UDP
---
apiVersion: v1
kind: Service
metadata:
name: nomachine-service
spec:
type: NodePort
selector:
app: nomachine
ports:
- name: nx-tcp
port: 4000
targetPort: 4000
protocol: TCP
nodePort: 30000
- name: nx-udp
port: 4000
targetPort: 4000
protocol: UDP
nodePort: 30000
Content type
Image
Digest
sha256:1452fcdc2…
Size
2.9 GB
Last updated
4 days ago
docker pull eswees/nomachine:v1.133.13580-vnc-kde