CASE STUDY / 04 / SYSTEMS & INFRASTRUCTURE

Turning an old PC into useful infrastructure.

A self-hosted Linux server for a personal media archive, Tailscale-based administration and experiments in maintaining services.

RECRUITER BRIEF / WHAT THE EVIDENCE SUPPORTS

My engineering work

Configured an Ubuntu server, containerized photo archive and private Tailscale administration on a repurposed HP desktop.

Inspect first

Real read-only host command output records the i5-8500, one 4 TB-class HDD and four healthy Immich containers at capture time.

Operational boundary

A point-in-time host snapshot, not proof of uptime or backup recovery. An off-host backup and restore test remain outstanding.

01 / THE REASON

Start with a problem. Build a system.

The original goal was replacing recurring cloud photo storage with a server I could maintain myself. A refurbished office PC became a place to learn Linux administration, storage choices, networking, backup practices and long-running service behavior.

Once the server was useful for one job, I could experiment with tools that support my other work. Running services is an ongoing responsibility: availability, maintenance and access control matter as much as the initial setup.

02 / SYSTEM OVERVIEW

Small hardware. Many responsibilities.

The diagram explains how I use the machine. The terminal captures below document the storage and services observed on the Ubuntu host on October 14, 2026. The memory configuration and OS-visible measurement are distinguished in the hardware note below.

01 / DEVICESPhone + laptopPersonal files and remote connection
02 / HOSTUbuntu + DockerImmich services · Tailscale
03 / STORAGESSD + data HDD256 GB-class SSD · 4 TB HDD at /mnt/storage
The captured commands show a 238.5G disk and a 3.6T volume mounted at /mnt/storage. They do not establish the OS disk or storage media type. Tailscale is the intended private access path, but the capture only proves its service was active; it does not demonstrate client reachability. One volume is not redundant storage or a complete backup plan.
STORAGE

Personal media archive

Immich and an iCloud import directory support the server's photo and video archive.

NETWORKING

Private-network administration

Tailscale is part of the access design. The captured service-active result alone does not verify remote reachability, firewall rules or public-port exposure.

SERVICES

Containers I can inspect

Docker runs Immich with its PostgreSQL, Redis-compatible, and machine-learning services. All four reported healthy at capture time.

Inside the running server.

These are selected read-only results captured directly on my Ubuntu machine and re-typeset as plain terminal transcripts, not literal application screenshots. The archived output is preserved as captured, with network addresses, credentials, and private photos excluded.

Swipe across the terminal panels to read the remaining columns, or open either image at full size.

Commands recorded October 14, 2026 · Read the underlying command results ↗

HOST EVIDENCE / WHAT IT ESTABLISHES

From command output to a responsible infrastructure decision.

  1. Storage inventory

    lsblk reports a 238.5G disk and a 3.6T disk; df -h /mnt/storage identifies /dev/sdb1 as the mounted volume, with 153G used at capture time. Neither command proves the OS disk, disk medium or where Immich stores its media.

  2. Service dependencies

    docker ps and docker inspect show four running, healthy Immich-related containers: server, PostgreSQL, Redis and machine learning. systemctl is-active shows Docker and Tailscale active in the same capture. These are distinct checks, not evidence of 24/7 availability or that a remote client successfully connected.

  3. Engineering consequence

    The mounted 4 TB-class volume has no demonstrated redundancy. The next defensible reliability claim requires a separately stored backup and a demonstrated restore; neither is established by this snapshot. The transcript is a privacy-redacted selection, not a full raw terminal session.

Read redacted command transcript ↗Review recovery limitations ↓

03 / ENGINEERING LESSONS

Useful infrastructure is maintained.

A server that works once is a demonstration. A server that remains useful over time requires monitoring and routine maintenance. The valuable learning has come from storage organization, permission issues, changing network conditions and making services accessible when I need them.

01

Think beyond installation

Data location, startup behavior, service dependencies and recovery need explicit decisions.

02

Respect failure modes

The data currently sits on one 4 TB HDD. An independent off-host backup and restore test remain important next steps.

03

Minimize exposure

A private mesh connection is easier to reason about than indiscriminately forwarding services to the internet.

04 / EXPERIMENTS

What I'm exploring next.

The machine is also a playground for task routing and automation. In my public post I described using a tool-based agent setup for academic and engineering workflows. I am separately developing research automation that processes public information and alerts based on chosen conditions. These projects are evolving and are not presented as finished production services.

This project taught me to think about the system around the software: computing hardware, networks, reliability, access and maintenance. Original LinkedIn build post ↗

Discuss the system