So I have been contemplating virtualizing my day to day and running it on my host with the thought I could upload it to a cloud for various reasons. Thing is I would like to use a virtual machine but I want something that could be moved anywhere without any modification. So I sorta feel I would have to go with a container but again I sorta prefer a standar vm. Im just looking for peoples thoughts.
You should look into “Configuration as code”, where you use automation via various methods and store the code in a git repo. The other commenter in the thread is a good example of this methodology, using Terraform and Ansible, but there are many ways to do this.
I’ve had similar thoughts some several months ago, but I haven’t even figured out how to get a stable desktop environment in a VM (my experience with Linux is mostly in server-land). My overall approach for idempotency is a git repository that has a Terraform blueprint and an Ansible blueprint, and the whole kit is pointed at my home ProxMox cluster.
With this workflow I can lift and shift my entire localnet wherever I want in the future.
You could use a much simpler blueprint approach to accomplish your Desktop Environment VM. You’ll want to externalize any data that won’t get included in a blueprint rebuild (databases, games save files, media libraries, etc.).
Honestly that’s a tempting idea… but then I remember that installing a fresh Debian on my desktop takes me 1h tops, swapping my /home directory and configuring few key software, in particular the browser, too so… for me, not worth it for now.
Also in practice maybe I make a fresh install once a year, at most. Otherwise it’s quick Debian on remote machines, RPi, etc and then it’s pretty much per machine configuration.
That being said if I were to do it I’d look at
rsync
with a set of ssh keys and Docker/podman for containerization of whatever services serve the data, potentially behind a VPN so that I can use it all remotely yet more securely. In practice though… that ends up being a centralized Web server, which I already use as https://fabien.benetou.fr/ and that’s been good enough for me for years, more than a decade now actually.Can you please elaborate a bit more on the use case and/or software you have in mind because maybe I don’t properly understand your needs?
Its just an idea I had. To virtualize my general computing environment for day to day that does not need a lot of resources generally. So the idea is it would be great to run it on my laptop but like move it to a cloud provider when traveling and travel with a laptop that has nothing personal and then interacting remotely. So a combo of easy change of hardware combined with travel without personal info.
What about containers with desktop, e.g. https://docs.linuxserver.io/images/docker-firefox/ or another from https://www.linuxserver.io/our-images (based on Guacamole https://guacamole.apache.org/ AFAICT) with a mounted WebDAV (via e.g. NextCloud) for data?
this looks sorta nice and im checking it out.
Neat, let me know if you have questions or idea.
I did set these up a little while ago but I don’t have an on-going setting so I’d be happy to help and curious to see if something new can come out of those ideas.
I think Nixos and a nas would for your need.
This is what I’m doing, I have two laptop, one for work at my office and one at home for work/hobbies.
I have a nixos config synced on github with all my of is configuration, package list extensions …Some of the config is specific to each laptop like the part related to the hardware and steam, games stuff only on my home computer. The rest is the config is shared and all my files synced on my NAS.
So whenever I change something on one the change is reflected in the other. I really enjoy this setup and I’m thinking of adding my server in it too.