A Docker container that provides Java Web Start (javaws) functionality through a web browser interface, specifically designed for accessing IPMI console applications on macOS systems where Java Web Start is no longer natively supported.
- Cross-platform Java Web Start: Run legacy JNLP applications in a containerized Linux environment
- Web-based Access: Access through any modern web browser via noVNC
- IPMI Console Support: Specifically configured for server management console applications
- Persistent Storage: Mount local JNLP files for easy access
- High Resolution: Supports 1920x1080 desktop resolution
- Docker Desktop for Mac
- Docker Compose
-
Clone this repository:
git clone <repository-url> cd macos-ipmi-javavw
-
Create a
jnlp
directory and place your JNLP file:mkdir -p jnlp # Copy your JNLP file to jnlp/launch.jnlp
-
Start the container:
docker-compose up -d
-
Access the desktop through your web browser:
http://localhost:6080
-
Use the VNC password:
vncpassword
If you place a JNLP file at jnlp/launch.jnlp
, it will be automatically launched when the container starts.
- Access the desktop at
http://localhost:6080
- Open a terminal in the XFCE desktop
- Run:
javaws /data/your-file.jnlp
- VNC Password: Default is
vncpassword
- modify in Dockerfile if needed - Resolution: Default is 1920x1080 - modify in
start.sh
- Ports: Default web access on port 6080 - modify in
docker-compose.yml
- Base: Debian Bullseye (Linux/AMD64)
- Desktop: XFCE4
- Java: Oracle JRE 8u451
- VNC: TightVNC Server
- Web Interface: noVNC
.
├── Dockerfile # Container build configuration
├── docker-compose.yml # Service orchestration
├── start.sh # Container startup script
├── jre-8u451-linux-x64.tar.gz # Oracle Java Runtime
└── jnlp/ # Mount point for JNLP files
- Ensure JNLP files are properly formatted and accessible
- Check Java console output in the VNC session
- Verify network connectivity for downloading required JARs
- Ensure port 6080 is not in use by another application
- Check Docker container logs:
docker-compose logs
- Verify the container is running:
docker-compose ps
- Increase Docker Desktop memory allocation
- Consider reducing VNC resolution in
start.sh
This project is licensed under the MIT License - see the LICENSE file for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This container runs with root privileges and includes a default VNC password. Use only in trusted environments and consider changing the default password for production use.