Sign inSign up

moonpath/webos

By moonpath

•Updated about 1 month ago

Image
Developer tools
Operating systems
0

1.6K

moonpath/webos repository overview

⁠Docker OS

⁠Introduction

The purpose of these images is to provide a full featured web native Linux desktop experience for any Linux application or desktop environment.

These images contain the following services:

  • KasmVNC⁠ - The core technology for interacting with a containerized desktop from a web browser.
  • Kclient⁠ - NodeJS Iframe wrapper for KasmVNC providing audio and file access.
  • PulseAudio⁠ - Sound subsystem used to capture audio from the active desktop session and send it to the browser via the Kclient helper application.
  • Nginx⁠ - Used to serve the mix of KasmVNC and Kclient with the appropriate headers and provide basic auth.
  • XFCE⁠ - Lightweight desktop environment that provides a full featured desktop experience.
  • OpenSSH⁠ - Used to provide secure shell access to the container.
  • Docker⁠ - Can support running docker in docker(DinD) if the container is run in privileged mode.
  • Nvidia CUDA⁠ - Can support running Nvidia CUDA applications if the Nvidia runtime is installed on the host.
  • Vscode⁠ - Code editor with support for many languages and extensions.
  • Jetbrains Toolbox⁠ - Used to install and manage Jetbrains IDEs like IntelliJ IDEA, PyCharm, WebStorm, etc.
  • MS Edge⁠ - Microsoft Edge browser(base Google Chrome) for web browsing.
  • VLC⁠ - Media player that can be used to play audio and video files.

⁠Scenarios

Just open a browser and visit http://localhost:7900⁠ (the address and port may be different depending on your settings).

⁠1. Have a Visual Desktop Environment in Docker Container

XFCE Desktop

⁠2. Programming with Vscode in Docker Container

Vscode

⁠3. Programming with Jetbrains IntelliJ Idea in Docker Container

Vscode

⁠4. Browsing with MS Edge in Docker Container

MS Edge

⁠5. Playing Media with VLC in Docker Container

VLC

⁠6. SSH Access and Test CUDA in Docker Container

SSH

⁠7. Upload or Download Files via Browser in Docker Container

VLC

⁠Run Container From Docker Hub Images

⁠1. CPU Version with Desktop
sudo docker run -itd \
--privileged \
--hostname linux \
--shm-size 8g \
-e VNC_PORT=7900 \
-e VNC_USER=admin \
-e VNC_PASSWD=123456 \
-p 7900:7900 \
--name webos \
moonpath/webos:latest
⁠2. GPU Version with Desktop
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
--shm-size 8g \
-e VNC_PORT=7900 \
-e VNC_USER=admin \
-e VNC_PASSWD=123456 \
-p 7900:7900 \
--name webos-gpu \
moonpath/webos-gpu:latest
⁠3. CPU Version without Desktop
sudo docker run -itd \
--privileged \
--hostname linux \
-p 2222:22 \
--name devos \
moonpath/devos:latest
⁠4. GPU Version without Desktop
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
-p 2222:22 \
--name devos-gpu \
moonpath/devos-gpu:latest

⁠Build Docker Image and Run Container

⁠1. CPU Version with Desktop
# Clone repository
git clone https://github.com/moonpath/dockeros.git
cd dockeros

# Build Docker Image
sudo docker build -t webos:latest -f dockerfile-webos .

# Run Docker Container
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
--shm-size 8g \
-e VNC_PORT=7900 \
-e VNC_USER=admin \
-e VNC_PASSWD=123456 \
-p 7900:7900 \
--name webos \
webos:latest
⁠2. GPU Version with Desktop
# Clone repository
git clone https://github.com/moonpath/dockeros.git
cd dockeros

# Build Docker Image
sudo docker build -t webos-gpu:latest -f dockerfile-webos-gpu .

# Run Docker Container
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
--shm-size 8g \
-e VNC_PORT=7900 \
-e VNC_USER=admin \
-e VNC_PASSWD=123456 \
-p 7900:7900 \
--name webos-gpu \
webos-gpu:latest
⁠3. CPU Version without Desktop
# Clone repository
git clone https://github.com/moonpath/dockeros.git
cd dockeros

# Build Docker Image
sudo docker build -t devos:latest -f dockerfile-devos .

# Run Docker Container
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
-p 2222:22 \
--name devos \
devos:latest
⁠4. GPU Version without Desktop
# Clone repository
git clone https://github.com/moonpath/dockeros.git
cd dockeros

# Build Docker Image
sudo docker build -t devos-gpu:latest -f dockerfile-devos-gpu .

# Run Docker Container
sudo docker run -itd \
--runtime nvidia \
--gpus all \
--privileged \
--hostname linux \
-p 2222:22 \
--name devos-gpu \
devos-gpu:latest

Tag summary

Content type

Image

Digest

sha256:bfad881c7…

Size

2 GB

Last updated

8 months ago

docker pull moonpath/webos