Something Running Somewhere
Free-tier Linux server for remote access and ongoing project backends.
Jan 2026 · Infrastructure · Active infrastructure

Stack
Stack: Oracle Cloud ARM A1 · Ubuntu · Tailscale · SSH keys · tmux · PaperMC
$0 budget, NAT and firewall behavior to understand, and no tolerance for a server that dies when my laptop closes.
Log
The distance
The first shift was mental. My code was no longer on the same desk as me. The laptop was in Dallas, the box was hundreds of miles away, and the only thing between them was a chain of credentials, networks, and processes I had to understand well enough to trust.
Oracle roulette
Oracle's free ARM shape is the deal: 4 OCPU, 24GB RAM, 200GB storage, billed at zero. Getting it is the fight. Capacity errors, retrying availability domains, waiting, retrying again. When the stack finally turned green as oram-A1-Server, the project became real.

The free-tier box, active: 4 OCPU, 24GB RAM, 200GB storage. The public internet said no
The straightforward plan was laptop to router, across the public internet, and into the Oracle server. NAT, private IPs, ports, firewalls, and remote-connectivity details made a direct connection harder than expected. Each layer had its own behavior, and I needed a path I could reason about.

The direct route was a pile of edge cases pretending to be a path. Tailscale collapsed the path
Tailscale made the network problem smaller. Install it on the server, install it on the laptop, approve both devices, and the public route stops mattering. SSH could target a stable tailnet name instead of whatever the firewall allowed that day. The mesh became the one network I could reason about.

Traditional path: blocked. Overlay path: devices by name. Closing the laptop killed the world
SSH got me into the machine, but it did not make anything persistent. First long-running process died the moment the session died. That was the tmux lesson: the shell is not the server. Run the process inside a session that survives you leaving, then detach and come back to the same cursor later.

Without tmux, disconnecting was not leaving. It was killing. The stack finally made sense
By the end, the project was not one tool. It was a stack: Oracle ARM A1 as hardware, Ubuntu as the headless OS, Tailscale as the mesh, SSH keys as identity, Vim and Neovim for editing on the box, tmux for persistence, and the app running inside that session. Each layer handled one kind of failure.

The whole lesson as a layer cake. Steady state
PaperMC ran inside tmux on the Oracle box. Friends joined, disconnected, crossed dimensions, completed achievements, and came back later. I could watch the logs, detach, walk away, and reattach; tmux kept the session running after I disconnected. The server has been available almost all the time by my observation, but I never measured uptime as a percentage. Oracle remains within its $0 free tier, and I still use the machine to host backends for later projects.
Result
Free-tier server still hosting backends for later projects; observed availability is almost all the time, without a measured uptime percentage.
What I learned
Keeping a server running mostly meant removing myself from the path. Oracle gave me the machine, Tailscale made it reachable, SSH keys made it mine, and tmux kept the Minecraft process running after I detached. I still use the machine for backend hosting, and my observation is that it has been available almost all the time. I never measured an uptime percentage. Every error along the way was not a wall; it was the next layer I had to understand.