{"id":13476392,"url":"https://github.com/rogaha/docker-desktop","last_synced_at":"2025-05-16T06:05:53.247Z","repository":{"id":50564906,"uuid":"11044580","full_name":"rogaha/docker-desktop","owner":"rogaha","description":"Docker Desktop enables you to create virtual desktops that can be accessed remotely. It comes with Firefox and Libreoffice already installed!","archived":false,"fork":false,"pushed_at":"2022-07-15T21:26:48.000Z","size":4648,"stargazers_count":1157,"open_issues_count":27,"forks_count":287,"subscribers_count":69,"default_branch":"master","last_synced_at":"2025-04-08T16:03:05.777Z","etag":null,"topics":["desktop","docker","docker-desktop","firefox","libreoffice","rootless","ssh","xpra"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rogaha.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-06-29T03:32:51.000Z","updated_at":"2025-03-21T04:58:28.000Z","dependencies_parsed_at":"2022-08-25T15:41:38.416Z","dependency_job_id":null,"html_url":"https://github.com/rogaha/docker-desktop","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogaha%2Fdocker-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogaha%2Fdocker-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogaha%2Fdocker-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rogaha%2Fdocker-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rogaha","download_url":"https://codeload.github.com/rogaha/docker-desktop/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254478188,"owners_count":22077676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","docker","docker-desktop","firefox","libreoffice","rootless","ssh","xpra"],"created_at":"2024-07-31T16:01:29.783Z","updated_at":"2025-05-16T06:05:48.231Z","avatar_url":"https://github.com/rogaha.png","language":"Shell","readme":"DOCKER-DESKTOP\n==============\n\n## Description\n\nThis Dockerfile creates a docker image and once it's executed it creates a container that runs X11 and SSH services.\nThe ssh is used to forward X11 and provide you encrypted data communication between the docker container and your local machine.\n\nXpra + Xephyr allows to display the applications running inside of the container such as Firefox, LibreOffice, xterm, etc. with recovery connection capabilities. Xpra also uses a custom protocol that is self-tuning and relatively latency-insensitive, and thus is usable over worse links than standard X.\n\nThe applications can be rootless, so the client machine manages the windows that are displayed.\n\nFluxbox and ROX-Filer creates a very minimalist way to manage windows and files. \n\n\n![Docker L](image/docker-desktop.png \"Docker-Desktop\")\n\nOBS: The client machine needs to have a X11 server installed (Xpra). See the \"Notes\" below. \n\n## Docker Installation\n\n### On Ubuntu:\nDocker is available as a Ubuntu PPA (Personal Package Archive), hosted on launchpad which makes installing Docker on Ubuntu very easy.\n\n```\n# Add the PPA sources to your apt sources list.\nsudo apt-get install python-software-properties \u0026\u0026 sudo add-apt-repository ppa:dotcloud/lxc-docker\n \n# Update your sources\nsudo apt-get update\n \n# Install, you will see another warning that the package cannot be authenticated. Confirm install.\nsudo apt-get install lxc-docker\n```\n### On Windows:\nRequirements:\n- Installation Tutorial (http://docs.docker.io/en/latest/installation/windows/)\n\n### On Mac OS X:\nRequirements:\n- Installation Tutorial (http://docs.docker.io/en/latest/installation/vagrant/)\n\n## Installation\n\n\n### Building the docker image\n\n```\n$ docker build -t rogaha/docker-desktop git://github.com/rogaha/docker-desktop.git\n\nOR\n\n$ git clone https://github.com/rogaha/docker-desktop.git\n$ cd docker-desktop\n$ docker build -t [username]/docker-desktop .\n```\n\n### Running the docker image created (-d: detached mode, -P: expose the port 22 on the host machine)\n\n```\n$ CONTAINER_ID=$(docker run -d -P [username]/docker-desktop)\n```\n\n### Getting the password generated during runtime\n\n```\n$ echo $(docker logs $CONTAINER_ID | sed -n 1p)\nUser: docker Password: xxxxxxxxxxxx\n# where xxxxxxxxxxxx is the password created by PWGen that contains at least one capital letter and one number\n```\n\n## Usage\n\n### Getting the container's external ssh port \n\n```\n$ docker port $CONTAINER_ID 22\n49153 # This is the external port that forwards to the ssh service running inside of the container as port 22\n```\n\n### Connecting to the container \n\n#### Starting the a new session \n\n```\n$ ifconfig | grep \"inet addr:\" \ninet addr:192.168.56.102  Bcast:192.168.56.255  Mask:255.255.255.0 # This is the LAN's IP for this machine\n\n$ ssh docker@192.168.56.102 -p 49153 \"sh -c './docker-desktop -s 800x600 -d 10 \u003e /dev/null 2\u003e\u00261 \u0026'\" # Here is where we use the external port\ndocker@192.168.56.102's password: xxxxxxxxxxxx \n\n$ ./docker-desktop -h\n\n-----------------------------------------------------------\nUsage: docker-desktop [-s screen_size] [-d session_number]\n-s : screen resolution (Default = 800x600\n-d : session number (Default = 10)\n-h : help\n-----------------------------------------------------------\n```\n\n#### Attaching to the session started\n\n```\n$ xpra --ssh=\"ssh -p 49153\" attach ssh:docker@192.168.56.102:10 # user@ip_address:session_number\ndocker@192.168.56.102's password: xxxxxxxxxxxx \n\n```\nIf you want to execute rootless programs, you just need to connect to the container via ssh and type: \nDISPLAY=:[session_number] [program_name] \u0026 \n\nEg. DISPLAY=:10 firefox \u0026\n\n## Notes\n\n### On Windows:\nRequirements:\n- Xpra \u003c= 14.0 (https://www.xpra.org/dists/windows/)\n- Path: C:\\Program Files(x86)\\Xpra\\Xpra_cmd.exe\n\n### On OS X:\nRequirements:\n- Xpra Version \u003c= 14.0 (https://www.xpra.org/dists/osx/x86/)\n- Path: /Applications/Xpra.app/Contents/Helpers/xpra\n\n\n### On Linux:\nRequirements:\n- Xpra: You can use apt-get to install it -\u003e apt-get install xpra\n- Path: /usr/bin/xpra\n","funding_links":[],"categories":["Shell","firefox"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogaha%2Fdocker-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frogaha%2Fdocker-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frogaha%2Fdocker-desktop/lists"}