4 ms·
Dumb question, from someone who doesn't use web-based instant environments like these: what are some popular "locally hosted" alternatives? For reasons of pers
by austinjp 5y ago
Dumb question, from someone who doesn't use web-based instant environments like these: what are some popular "locally hosted" alternatives?
For reasons of personal taste, I just don't like browser based development (not to mention how resource hungry it can be), and I get antsy when relying on third-party hosted services for day-to-day work. I like to treat my laptop as a fully-integrated, offline-capable *, cheap, almost disposable development environment. If I accidentally destroy my filesystem or whatever - which has happened at least once :) - I want to be able to stand it up again and get to productivity within the day.
I appreciate that hosted services are appealing because they "solve" exactly this problem. But I want a locally hosted solution, thanks.
Is it just a matter of code storage (git repos, backups, whatever) + VMs/containers + IDE? Is everyone cobbling together their own solutions? Are there recognised standard approaches, or are they specific to the orgs within which they evolve?
My personal case is as a solo web developer, but I'd be interested in hearing from individuals and teams of any size.
* Edit: By "offline-capable" I more mean "offline-first". I'm occasionally nomadic, and use my laptop on a long train/plane journey where internet is unreliable or unavailable. Plus I have a hardware off-switch for radios to save battery. I'm also slowly implementing local caches of software installed with apt/pip/yarn/whatever so I can pop-up and tear-down virtual environments without necessarily needing an internet connection. (This is a work in progress.) So I'm not interested in cloud-based environments, but thanks to those who have suggested them.
- vbezhenar 5y agoCheck out https://code.visualstudio.com/docs/remote/containers https://code.visualstudio.com/docs/remote/containers I think that GitHub Codespaces are built on this technology. It should allow you (or any of your team mates) to start coding almost instantly, you need to install vscode and docker on your host machine and that's about it. Rent a server in the cloud, install docker there, point your local docker to this cloud server and your laptop turns into a thin client. That's a theory at least.
- arsenace 5y agoWarning though, it's ram hungry. Not gonna run well on a $5 droplet.
- austinjp 5y agoThanks for this warning. My local environment is an old ThinkPad t420 maxed out at 8.9Gi RAM. I do as much as possible in the terminal. If VS Code won't run well on a Droplet, it's unlikely to be an option for me.
- ElFitz 5y agoSome people do everything in local containers, with one container for each project, the same way others do it with a vm on a server[1] The upside being that you still have little to no "contamination" between projects dependencies, files and configuration, each project being entirely self-contained. [1]: https://towardsdatascience.com/how-to-create-your-own-vs-code-server-fa7812d308b0 https://towardsdatascience.com/how-to-create-your-own-vs-cod...
- ducktective 5y agoYou can use nix to provision a dev environment from a package derivation: https://nixos.org/manual/nix/unstable/command-ref/new-cli/nix3-develop.html https://nixos.org/manual/nix/unstable/command-ref/new-cli/ni... https://news.ycombinator.com/item?id=28184068 https://news.ycombinator.com/item?id=28184068 nix develop nixpkgs#emacs
- ghuntley 5y agoNix is <3. Here's a template where you can take it for a spin on Gitpod. https://github.com/gitpod-io/template-nix https://github.com/gitpod-io/template-nix Personally I run all my software via nix, in a monorepo with a layout similar to google3, that generates/serves docker images via https://github.com/google/nixery https://github.com/google/nixery, supports x64/m1, local development, codespaces and gitpod.
- ratorx 5y agoThat sounds interesting, do you have a link?
- ghuntley 5y agoYes! 1. https://www.youtube.com/watch?v=VqwEnd_2Vzk https://www.youtube.com/watch?v=VqwEnd_2Vzk (sorry for recording quality but it is worth watching and it'll change how you think about what is possible) 2. http://github.com/ghuntley/ghuntley http://github.com/ghuntley/ghuntley (see .devcontainer/devcontainer.json and .gitpod.yml for codespaces / gitpod isomorph) 3. https://code.tvl.fyi/tree/ https://code.tvl.fyi/tree/ 4. Come find us and hangout https://tvl.fyi/ https://tvl.fyi/ <3
- mhitza 5y agoNot sure fully integrated and cheap/disposable go hand in hand. Depends on what type of integration you have. I have my laptop configured in powersafe profile (battery improvement and lack of annoying fans is a plus) and I get noticeable delays when working within my IDE on certain workflows. I also from time to time travel and I'm aware of spotty internet. Nevertheless I'm more and more enamored with the idea of owning cheap Pinebook Pro notebooks and renting a cheap server to run my IDE over VNC. I can't focus on work while on public transport so that setup might work just fine for me in the future. Spend that time instead reading a book, win-win
- rovr138 5y agoYou can look at https://theia-ide.org https://theia-ide.org, https://github.com/eclipse-theia/theia https://github.com/eclipse-theia/theia