Remote Desktop in Docker

Updates and open questions about problems Harlan is working to solve and tools he is working with.
harlanji
Posts: 13
Joined: Mon Jul 24, 2023 6:44 pm

Remote Desktop in Docker

Post by harlanji »

I've been running a cheap Windows laptop in S Mode for the past year, where I can only run App Store binaries. I could take it out of S Mode but choose to leave it in for peace of mind. I've had to adopt some new tools including Python due to lack of a JVM or NodeJS runtime, as well as NotePad++ which isn't too far off from tools I've used in the past. A text editor that syntax highlights, shows a directory/workspace, has some tools and not much else. And shockingly no Git client, CLI or otherwise--but I wasn't in much pain without it until now.

Image

The time finally came to where I needed to get a VPS in order to get rolling with S3 and push forward my Wagtail CMS work. Ironically that's paused as I've been using this PhpBB forum to make posts, which was the purpose of adopting Wagtail. I think I'll eventually port this content into a proper CMS like Wagtail, but this is working and has a nostalgic feel to it so I'm rolling with it.

Anyway, a major source of content for me is around Dev Practice and some specific coding methodology and tooling which is well facilitated using Git. Since I'm a one man show I've been winging development and versioning by copying source into a release staging directory, making sure it runs, and zipping it up with a version number or date. All good for pre-production solo development. Now if I want to produce it into content and bring more people into the mix, being able to visually show how I work with tools like GitHub offers is important.

So the plan is for each of the apps I've been working on, to incrementally unzip the releases and make a new commit for each including file renames and the like. I've done a pilot with one app and it works fine, that was using my RasPi 4 which has been unreliable due to my poor choice of SD cards (next time I'll get ones designed for dashcams / rolling surveillance video) and which I lost possession of when I had to rapidly relocate from my relative's house. Shortly after I got the pilot going started focusing on getting these things in Git on the RasPi the card crashed, which totally killed momentum, but it's set to succeed when I focus on it again.

Since I have a server with Docker and a Remote Desktop Connection app in windows, I figured I'd look into docker images for xRDP and found one based on Ubuntu 20.04 and it works seamlessly: docker-remote-desktop. I was able to apt-get update and install gitk. I've already put all the releases in S3 so I'll be able to configure s3cmd or s3fs to pull them into that image and get to work and finish it this time since I have a reliable setup. Once the repos are in Git I can explore putting them on GitHub for discovery, but until then I prefer to just run stuff in private environments.

This Docker image will be an interesting tool to have in the belt. I always figured it was possible and have used xRDP/VNC extensively in the past but never in a Docker image. Here we can create fresh environments cheaply for any use case we may need, in isolated environments; so for example I could prepare environments for talks or early adopters to where they don't even have to navigate to it with their own browser and log in, but can have the environment prepared to them as though we're sitting together.

Hopefully my spending so much time setting up the context isn't too annoying. It's possible the more polished version of this content that goes into a CMS will omit much of that, but for now I just write in a 'stream of consciousness'/brain dump that includes motivation as to why I'm doing what I do.