Do not expose this container to untrusted networks or sensitive data.
Prebuilt image available on Docker Hub.
egyiptomi/firefox-with-applets:latest
docker pull egyiptomi/firefox-with-applets:latest
docker run -d \
--name firefox-with-applets \
--restart always \
-p 5900:5900 \
-p 6080:6080 \
--shm-size=2g \
egyiptomi/firefox-with-applets:latestCreate a docker-compose.yml file:
services:
desktop:
image: egyiptomi/firefox-with-applets:latest
container_name: firefox-with-applets
restart: always
ports:
- "5900:5900" # VNC
- "6080:6080" # noVNC web
shm_size: "2gb"Start the container:
docker compose up -dStop the container:
docker compose down| Method | Address |
|---|---|
| VNC | localhost:5900 |
| noVNC (Web) | http://localhost:6080 |
This project provides a Docker container designed to run legacy web applications that rely on Java applets.
It bundles:
- Firefox ESR 52
- IcedTea-Web (NPAPI plugin)
- A VNC-enabled Linux desktop
This combination allows NPAPI-based Java applets to run in a sandboxed environment.
Built on top of:
- dcsunset/ubuntu-vnc:18.04
This base image provides:
- XFCE desktop environment
- VNC server
- noVNC web access
- Source: https://github.com/projg2/npapi-sdk
- Provides headers and tooling required for NPAPI plugin support.
- Built from source
- Source: https://github.com/AdoptOpenJDK/IcedTea-Web/tree/1.8
- Provides:
- Java Web Start
- Java NPAPI browser plugin (
Icedteaplugin.so)
Icedteaplugin.sois linked into Firefox’s plugin directory- Enables Java applet execution inside Firefox
- Last Firefox ESR version with NPAPI support
- Required for Java applets to function