New homelab project - Working from anywhere on any machine

Posted on Jun 23, 2024

I am on a quest. The quest is to be able to do all my work from any computer. I mean any computer. I want the ability to sit down at any computer and have access to all my files, notes, tools, and apps.

These are the scenarios I am planning for:

  1. I am at home, but not on one of my computers. It could be my wife or kids laptops, or could simply be a fresh install with nothing configured.
  2. I am out of the house and I am going to borrow a PC from someone (literally anyone) temporarily.

After I’m done, I want to leave no trace. This means I am not going to install any software or make any adjustments to their computer.

The catch? I want this ability while self-hosting all my own services. I know I could make this easy and just use Google or Microsoft products to accomplish the same. But, I want it all to be under my control, on my server, privately on my LAN. Then, I’m not in the pocket of some trillion dollar tech company. I control my whole stack protecting my privacy, don’t have recurring monthly expenses, and can work offline.

Here’s how I’m going to accomplish this:

  • Configure all of my self-hosted systems to have a web client frontend, available only on my LAN. This will make all of my services, files, and tooling available in a web browser. Doing this will make it so I don’t have to install any software on the borrowed machine.
  • Create a persistent Linux desktop install from a USB drive with the minimal amount of tools to get my work done. This is for when I’m using an untrusted device and do not want any information, even browser history, left behind.

The Nextcloud issue

A lot of what I’m going to share about this setup can be accomplished with Nextcloud. In fact, all of it can be done with Nextcloud instead of the dozen bespoke apps I’m using. I’ve written about why I moved away from Nextcloud, but here’s the short version:

  • Nextcloud is slow, especially when you layer on so many addons.
  • Nextcloud is complicated. I want to get rid of managing a huge monolithic software tanker.
  • Nextcloud is focused on things I don’t care about, like A.I.. I’m not an enterprise trying to find a Outlook or Google Workspace replacement. Its just for me.

My current setup

Below is the list of all the apps and services I’m hosting to get this done. I will be writing more detailed posts about each, with more notes on how I have it setup and why I chose it. For now, here is the list.

  • File management: Syncthing to transfer files with dufs on top for web view, download, and light edits.
  • File editing: For docs, spreadsheets, notes, etc., I am using a kasm desktop with Libreoffice and my files mounted in WebDAV.
  • Email & calendars: This is a combination of my self-hosted systems, plus 3rd party web mail. I do not self-host my email, so all of my email is done through commercial web mail services. For calendars, I use radicale for the backend and agendav for a web view.
  • Passwords. I am hosting vaultwarden, which has a web frontend.
  • Homelab management: For systems management, I have a VSCodium code server with all my servers file systems remotely mounted so I can edit conf files as necessary. I am also using cockpit to do all other systems management, such as nfs shares, virtual machines, containers, and access to the console in the browser.
  • Bookmarks: Shaarli is my preferred tool, which also has its own web frontend.
  • News: I’ve been using FreshRSS for about a decade.
  • Social: GoToSocial is my Mastodon server of choice, which can be used with any PWA in the browser like Phanpy or Semafore.
  • Full desktop: For times I want to access my primary desktop and have everything available I am using Guacamole.

Look for more posts coming soon with more details about each of these setups. Shoot me a message on Mastodon using the link below if there is a certain section you’d like to read about first.

- - - - -

Did you like this post? Give it an upvote by clicking on the arrows below! Sending me an upvote is like you and I giving each other a high five.

🙏 😎

Thank you for reading! If you would like to comment on this post you can start a conversation on the Fediverse. Message me on Mastodon at @cinimodev@masto.ctms.me. Or, you may email me at blog.discourse904@8alias.com. This is an intentionally masked email address that will be forwarded to the correct inbox.

If you enjoy the random stuff I write here, post to Mastodon, or watch on YouTube, and are feeling generous, I am open to tips of Ko-fi.