Skip to content

Piero24/Cloud-Dev-Desktop

Repository files navigation

Cloud Dev Desktop

License: MIT Docker Compose CasaOS Architecture: amd64 | arm64

Cloud Dev Stack

One environment, two browser based views. A Docker Compose stack that gives you a complete, persistent cloud development workspace with Ubuntu desktop, VS Code, and SSH, all sharing the same home directory and files.

curl -fsSL https://raw.githubusercontent.com/Piero24/Cloud-Dev-Desktop/main/install.sh | bash

What's inside

Service Image Purpose
desktop linuxserver/webtop:ubuntu-xfce Full Ubuntu XFCE desktop + SSH + code-server + VS Code desktop app
vscode linuxserver/code-server:latest VS Code in your browser, same home + files
beszel-agent henrygd/beszel-agent:latest System metrics → your existing Beszel hub

Both containers share /config (home directory) and /projects. Install a package or change a setting, it appears in both instantly. The vscode container is a browser based editor view into the same environment.

Pre installed: nvm + Node LTS, Claude Code, code-server, VS Code (desktop app), build-essential, Python, Java, Docker CLI, tmux, zsh.

Architecture

flowchart LR
    Internet((Internet))

    subgraph Host["Docker Host"]
        subgraph Volumes["Shared"]
            Config["/config\n(home: shell, git, nvm, packages)"]
            Projects["/projects\n(your code)"]
        end
        Desktop["dev-desktop:3000\nUbuntu XFCE + SSH :3434"]
        Code["dev-vscode:8443\nVS Code"]
    end

    Internet --> Desktop
    Internet --> Code
    Desktop --> Config
    Desktop --> Projects
    Code --> Config
    Code --> Projects
Loading

Screenshots

Ubuntu XFCE Desktop
Full Ubuntu XFCE desktop in your browser

VS Code in browser
VS Code in your browser — same home directory, same files

Quickstart

CasaOS

curl -fsSL https://raw.githubusercontent.com/Piero24/Cloud-Dev-Desktop/main/install.sh | bash

The installer asks where to store data, downloads everything, then prints next steps.

Plain Docker

git clone https://github.com/Piero24/Cloud-Dev-Desktop.git
cd Cloud-Dev-Desktop

# Edit values in compose.yaml, then:
docker compose up -d

Key features

  • One environment, two views: both containers share /config (home) and /projects. Same shell, git, nvm, packages everywhere
  • Persistent sessions: tmux auto attach via TMUX_AUTO=1; sessions survive disconnects
  • Configurable cleanup: TMUX_TIMEOUT auto kills detached sessions after N hours; tmux-keep overrides it
  • Persistent packages: everything in /config survives container rebuilds
  • No Mac required: work entirely from a browser and SSH
  • Monitoring: Beszel agent feeds system metrics to your existing hub

Files

File Purpose
compose.yaml Plain Docker Compose (short syntax, relative paths)
compose-casaos.yaml CasaOS Compose (long syntax, x-casaos metadata)
init.sh Desktop container boot script. SSH, nvm, Node, Claude Code, code-server
init.d/99-vscode-env.sh VSCode container boot script. Shared extensions
install.sh Interactive CasaOS installer

Docs

Full documentation at cloud-dev-docs/:

Requirements

  • Docker + Docker Compose
  • Optional: Beszel hub running elsewhere (for the agent)

License

MIT. See LICENSE.

About

Docker Compose stack that gives you a complete, persistent cloud development environment

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors