https://github.com/ivangabriele/docker-cuda-desktop
Ubuntu PyTorch CUDA Docker image with KDE Plasma Desktop & VNC. Ideal for LLM & Deep Learning remote work.
https://github.com/ivangabriele/docker-cuda-desktop
cuda d-bus dbus deep-learning desktop docker gpu large-language-models llm nvidia python pytorch remote-desktop server ubuntu ubuntu-desktop vnc vnc-server x11
Last synced: about 1 month ago
JSON representation
Ubuntu PyTorch CUDA Docker image with KDE Plasma Desktop & VNC. Ideal for LLM & Deep Learning remote work.
- Host: GitHub
- URL: https://github.com/ivangabriele/docker-cuda-desktop
- Owner: ivangabriele
- License: agpl-3.0
- Created: 2023-10-16T19:20:27.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-22T05:27:28.000Z (over 1 year ago)
- Last Synced: 2024-10-04T16:39:56.640Z (7 months ago)
- Topics: cuda, d-bus, dbus, deep-learning, desktop, docker, gpu, large-language-models, llm, nvidia, python, pytorch, remote-desktop, server, ubuntu, ubuntu-desktop, vnc, vnc-server, x11
- Language: Dockerfile
- Homepage:
- Size: 2.34 MB
- Stars: 14
- Watchers: 1
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Docker Image :: Ubuntu KDE Plasma Desktop with PyTorch, CUDA & VNC
[![img-github]][link-github]
[![img-docker]][link-docker]
[![img-runpod]][link-runpod]Ideal for LLM & Deep Learning remote work.
## Screenshot

## Content
### Base
- [PyTorch](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch) (base image including Ubuntu & CUDA)
- KDE Plasma Desktop
- VNC Server (port `5900`)### Main Applications
- Firefox (ESR)
- Kitty (terminal)
- Sublime Text
- Visual Studio Code (must be run with `--no-sandbox` flag)### Nice to Have
- Fira Code (monospace font)
- zsh (with oh-my-zsh)## Tags
Pytorch tag as per [their official documentation](https://catalog.ngc.nvidia.com/orgs/nvidia/containers/pytorch/tags):
- PyTorch 23.09-py3
- `latest`## Environment Variables
- `VNC_PASSWORD`: Password for VNC connection. Default: `password`.
- `VNC_SCREEN_SIZE`: Screen size. Default: `1920x1080`.## Usage
To connect to the container's desktop, you can use any VNC client.
> [!NOTE]
> You will have a wide list of errors during startup but you can ignore them.
> Enulating a full X server in Docker is not an easy task.Your server will be ready once you see this line in the logs:
```bash
[...]
cuda-desktop-server | Plasma Shell startup completed
[...]
```## Deployment
### RunPod
[![img-runpod]][link-runpod]
> [!NOTE]
> You can create and attach a Storage Network Volume to your RunPod pod
> to automatically sync and persist your `/home/ubuntu` directory between deployments.### Backup Volume in Deployment
When deploying your container, you can also attach a shared storage as a volume for backup.
Simply mount your desired backup directory to `/volumes/home_ubuntu_backup` in your Docker run command
or Docker composer file. It will be automatically retored (on subsequent boots) and then synced each minute.## Thanks
- [@ms-jpq](https://github.com/ms-jpq)
for [ms-jpq/kde-in-docker](https://github.com/ms-jpq/kde-in-docker)
- [Selkies](https://github.com/selkies-project)
for [selkies-project/docker-nvidia-glx-desktop](https://github.com/selkies-project/docker-nvidia-glx-desktop)---
[img-docker]: https://img.shields.io/docker/pulls/ivangabriele/cuda-desktop?style=for-the-badge
[img-runpod]: https://img.shields.io/badge/RunPod-Deploy-673ab7?style=for-the-badge
[img-github]: https://img.shields.io/badge/Github-Repo-black?logo=github&style=for-the-badge
[img-github-actions]: https://img.shields.io/github/actions/workflow/status/ivangabriele/docker-cuda-desktop/main.yml?branch=main&style=for-the-badge[link-docker]: https://hub.docker.com/r/ivangabriele/cuda-desktop
[link-github]: https://github.com/ivangabriele/docker-cuda-desktop
[link-github-actions]: https://github.com/ivangabriele/docker-cuda-desktop/actions/workflows/main.yml
[link-runpod]: https://runpod.io/gsc?template=fc1g5zbii8&ref=s0k66ov1