Remote coding station
I'm beginning to return to coding (small, baby steps) and would like to hear your recommendations regarding "on-the-go" coding.
The reason I ask is that I don't have one place where I work, I can easily jump between a work laptop dedicated to a specific client and my home laptop to my home desktop. Add another or two client computers to the mix.
I'm now planning for a dedicated coding station, accessible from all my different computers.
Since I'm a Windows guy by heart (30 years experience) I would prefer a Windows setup using RDP to access it.
However!
I'm ready to listen to alternatives. What would be the "best" solution?
- continue with a Windows/RDP setup
- Linux style with vnc or another setup
- https://codeanywhere.com or similar service
- Something completely different
If it matters, the coding will be done in PowerShell, Bash, PHP (LAMP style)
The testing will be done using one of my many VPS around the world.
Comments
tbh that looks perfect already.
https://inceptionhosting.com
Please do not use the PM system here for Inception Hosting support issues.
Remote vscode
Action and Reaction in history
Does that require local installation?
One of the things I'm looking for, is something that I don't have to install anything on my clients' computers.
https://clients.mrvm.net
Visual Studio Code Portable + Remote SSH?
If you don't want to run an executable on the client at all, consider looking at code-server. I'm using code-server on my Chromebook and it works pretty neat. For dedicated machines I do prefer Visual Studio Code native client because it's easier to multitask that way.
I do have Visual Studio Code on my desktop at home, and that is my preferred IDE.
Code-server looks like a self-hosted codeanywhere. Will take that for a spin.
If all else fails, I’ll spin up a Win Server OS somewhere and run RDP to that machine from everywhere.
https://clients.mrvm.net
What's the minimal RAM KVM spec for this? I've been meaning to look into this.
Does it co-exist with nginx/other loadbalancer that's already on port 443?
You need a minimum of 2 GB. Code-server utilizes about 1 - 1.5 GB of memory. It can run under any port and can run behind a reverse proxy.
I’ll document my setup and who knows, it might end up as a post on LESB. ?
https://clients.mrvm.net
For Docker enthusiasts, the linuxserver image is well maintained: https://hub.docker.com/r/linuxserver/code-server
new service from Microsoft (something like Visual Studio Code @ Azure): https://visualstudio.microsoft.com/services/visual-studio-codespaces/
RemoteApp, basically RDP to the application but without the windows desktop
https://techcommunity.microsoft.com/t5/enterprise-mobility-security/introducing-remoteapp-and-desktop-connections/ba-p/246803
Amazon offers something similar https://c9.io/
I used to self-host Codidad:
https://codiad.com/
Also allows live coding together iirc Hasn't been updated in a while it seems though.
Ympker's Shared/Reseller Hosting Comparison Chart, Ympker's VPN LTD Comparison, Uptime.is, Ympker's GitHub.
This is addressed in codeservers's docs https://github.com/cdr/code-server/blob/master/doc/FAQ.md#differences-compared-to-vs-code
Not really for general-purpose coding, but if the stuff you're doing is data analysis or relatively short scripts, JupyterLab is great. I've self-hosted it for data analysis for a while - I mostly used it for Python but I believe that it supports other languages too
Wow... I use Jupyter notebooks daily at work (mostly for data science-related Python stuffs) and never knew they had a web-based version. Thanks for sharing! Will definitely will be setting this up this weekend.
Last I tried code-server (MS VS Code), you couldn't put it behind authentication or reverse proxy. Looking at the repo now, it looks like they've recently baked in password auth for publicly exposed instances. I'll probably be giving this a shot soon and see how it does as I use VS Code as my main desktop IDE.
I don't find coding over RDP natural at all, but if you're dead set on this, look into Apache Guacamole. It's a web-based front end to connect to any RDP/SSH/VNC-based machine that you connect. I use this to access some local "remote" desktops on my home net from anywhere without having to expose the RDP ports externally. Just have a web server listening on your home internet, which will act as the proxy to all your local machines.
Humble janitor of LES
Proud papa of YABS
I don't know. I login via ssh, attach to a tmux session, and start working.
From experience, this works great with reliable Internet, like an office or home, but it breaks down when the wifi is craptacular, like in airports or coffee shops. The dream of being untethered from places or computers is still a ways off.
There is Koding which is similar to CodeAnywhere.
It has been in there for at least a year, but was disabled by default until recently. Visual studio code + remote SSH is still better than code-server IMO but it's not bad at all.
I’m using either visual studio code & remote SSH, or any Jetbrains IDE with local copy & SFTP push. They both have their downsides, overall VSC is nicer setup experience.
First of all, thanks for valuable input.
Since there are suggestions all over the place I might need to clarify my ”needs”.
I don’t want to/can’t install anything on my clients computers (keeping things seperated).
I’m looking for ideas to connect to an IDE to do the coding in.
Source is stored local/ssh and push/pulled to/from github.
With the cost of a VPS with Visual Studio code, I might go with codeanywhere and store the code on another VPS (ssh access) and keep a Visual Studio Code install on my coding station at home.
Soon time to decide on a solution.
https://clients.mrvm.net
What about Shadow.Tech? (aff link).
Non-aff link
I use it for both remote gaming and as my workstation, works really well. It's basically a Windows VPS and you do whatever you want/can on it.
I ❤️ NexusBytes (Aff link)
Desktop as a Service might be of interest to you.
https://www.techrepublic.com/article/top-desktop-as-a-service-daas-providers-amazon-citrix-microsoft-vmware-and-more/
There's also a portable version of vscode.... which can go with many other portable apps. Worth a try in not-so-great or not-so-connected conditions!
I went a different route. (past couple days)
I had a somewhat idle 4GB KVM with 4x E5 cores in Leaseweb SGP. (from their legacy kvm lineup. Yay)
I moved the https media it was serving to a storage VPS in EU.
Decided to give x2go-server a go again and run my Pycharm Pro (perpetual fallback License 2018.3) .
I used LXDE minimal as lightweight DE on server. (<250 MB utilization )
With Pycharm loaded via ubuntu snap : 1.25 GB ram was utilized.
WAN Latency is 55ms .
WIth the right X2go framebuffer compression, I can make it work smooth within 4-8 Mbit broadband.
IntelliJ IDEs aren't exactly very fast painting in the first place. So, I barely notice the difference compared to my own IvyBridge thinkpad.
Now I am all ready for monsoon power/internet interruptions. Workspace is now 'in the cloud'
https://wiki.x2go.org/doku.php/doc:newtox2go
x2go is just the OSS version of NoMachine. It uses very little bandwidth for easily compressible frames. I was satisfied even with 64k-png quality for code.
Anything that can run VS Code will work.
The remote dev extension hooks into a VPS very neatly. Both storage and execution happens on the VPS and you don't get any gnarly visual lag like you do with a RDP/remote GUI solution
Plus VS Code works on all OS and the extension is MS made so not gonna go away overnight
Thing is, I don’t want to install anything on a client computer, unless it has to do with that client.
I will probably go with something like @vimalware suggest.
Thanks everyone for your input.
https://clients.mrvm.net
Pro: With x2go, Auth and packet transport is handled over ssh. Simple, secure, well-understood.
Cons: So you'd need to install x2goclient and carry around a separate passphrase-protected ssh private key. (that you can revoke if you suspect compromise )
I imagine you have access to much lower latency WAN routes to 'cloud dev box' in the EU.
Don't know when it will be released: https://github.com/features/codespaces/
Also, https://github.com/cdr/code-server. I personally use codeanywhere for small projects.
how about carrying a raspberry pi in pocket with VNC installed, use your/client/ laptop/desktop as VNC client and Raspberry PI as VNC server? I tried for 2 JavaScript class room training [Latest Raspberry PI 4, 4 GB], it went awesome. Otherwise I need to carry a laptop, chargers etc. I use class room provided keyboard, mouse.
I am willing to try RockPro64,
https://ide.goorm.io/
I have been using Goorm for a while. The big appear for me was hands off infrastructure (which is ironic for me) along with a usable UI. They are a Korean company, but have English translations for everything and respond in English for support. The free package should be MORE then enough for basic packages.
There's a short spin up time when you start a new container, but you get essentially an EC2 instance to use (including full admin rights to install and run whatever software you need). I went the previous VSCode self hosted, C9 self hosted routes but still land back to Goorm because of how effective it is.