How I moved my daily workflow to a remote server

Published on: 10 November 2026


On a daily basis I use a MacBook Air M2 that I bought in December 2022 with 16GB of RAM and 256GB of disk storage. At the time I thought that was more than enough for what I needed, but a few months ago I started having some issues and slowdowns because I didn't have enough RAM or storage while working on large projects.

My first thought was to remove macOS (which uses a non-insignificant percentage of the resources, and it's getting more resource-hungry with every new release) and install Linux, but unfortunately I found out that a lot of things are not yet supported on Linux on this laptop.

The immediate alternative was to buy a new laptop with more resources and lean toward a non-Mac laptop where I could install Linux (or a BSD operating system), but then I realized that there is too much choice and all the high-end options are very expensive.

Then I had an unusual idea. Why not use a remote server instead? I already spend 99% of my time either on a terminal or on a browser. I can keep using the browser locally, but everything I use on a terminal can also run on a remote server.

So I started playing with this idea and it turned out it was much cheaper and there are a lot of other benefits associated with it.

Let's start by talking about the hardware. At the moment I'm using a dedicated server on Hetzner with an AMD Ryzen 7 PRO 8700GE CPU which has 8 cores and 16 threads, 64GB of RAM and two 512GB NVMe disks that can be set up either in RAID 0 (for better performance and more storage) or in RAID 1 (for higher redundancy). For this machine I'm paying 99 Euros per month. But here comes the first benefit: I'm not stuck with it. If I need more or fewer resources I can adjust it with a simple click. I don't make any long-term commitments as I would do if I bought a new laptop. I review this decision once a month.

Then let's talk about the software. When I ssh into the machine I use tmux to handle all the sessions. As a friend of mine said: "you use tmux as your window manager". That's exactly it. If I want, I can also connect to it via RDP or other protocols to have a full UI but, as I mentioned before, most of my work is done in the terminal, so ssh+tmux is all I really need.

With this hardware and software setup, there are a few advantages that I have noticed. The first one that comes to mind is that I can keep everything open and I can start long-running tasks without the worry that I might need to close my laptop when I leave the office. Next is the fact that I can ssh into it from anywhere and continue exactly where I left off. I have both a laptop and a desktop at home, and with this new setup it doesn't matter at all which device I use, because I can simply open a terminal and connect to my remote server.

Another thing that I do on a monthly basis is to completely reset my server. The reason for this is that I want to have a script that automatically downloads all the code, installs all the software that I need and sets up all the configuration files. This way I make sure that I always have everything backed up and also that if I change server or provider, or if anything happens, I can be back up and working in less than 30 minutes. In the future I'm planning to do the same thing for my laptop and my desktop, although setting up macOS is a much longer and more manual process compared to Linux or *BSD.

This is not the perfect system for everyone and there are various limitations. The major one is that you can only use terminal applications. I think it's possible to export the X server and use other remote protocols, which might make this setup much more flexible, but I have never tried them myself, so I don't know the potential drawbacks.

Another limitation is that it's location-dependent, because if someone travels a lot, they might have a very high latency if the server is not close to where they are. In that case you might need to set up a new server every time you move, but this might be inconvenient. At the moment this is not an issue for me.

The last limitation is that it's hard to use multiple operating systems and do low-level system development on it. It's possible to have virtual machines, but if you want to do kernel development it's not the most convenient solution. In these cases you want to have the physical hardware with you. This might be an issue for me in the future if I want to go back to doing kernel development, but for now it's not an issue.