Skip to main content

Command Palette

Search for a command to run...

Codex, fix my home server. I want to watch a film.

Asking Codex from my MacBook to import an SSD, update an endpoint and repair storage, with visible results and verification limits.

Updated
•4 min read•View as Markdown

I plugged a USB SSD into my home server and asked Codex to get the Star Wars editions on it into my 4K Plex library. Copy them, import them through Radarr, and make sure we could use subtitles.

Then I went back to sit with my boyfriend. We waited for the work to finish, and we could watch the movie.

The request covered 4K77, 4K80 and 4K83. The copies passed checksum verification, and the available English subtitle tracks were selected. I also asked whether Radarr would replace them with something it considered better. All three entries were left unmonitored to avoid automatic upgrades replacing those editions. Codex finished with the SSD unchanged and unmounted.

Plex identifies A New Hope as 4K77 v1.4 and lists 4K HEVC video with English SRT External subtitles. The title, edition and media fields are shown in separate crops.

Three crops from the same current Plex item, captured on 6 October 2026. The edition label and English subtitle field show the resulting library entry at capture time.

That current Plex view shows one resulting entry. The copying checks come from the completed job record; the waiting and watching are my experience of using it.

Asking from the computer I actually use

My server now runs in a Proxmox setup, following the OpenMediaVault server I had built over time. The computer I sit down with is a MacBook, and Codex runs there too.

It has private SSH and API access over the LAN or Tailscale. home-infra, a local repository, holds the inventory, operating rules, runbooks and non-secret infrastructure definitions. Komodo and Compose handle stack operations; Proxmox and host work have their own SSH/API route.

Codex runs on the MacBook beside the home-infra repository and uses private SSH/API calls to reach Komodo, Compose and Proxmox.

The documented control path runs from my MacBook over the LAN or Tailscale. The local repository supplies the inventory, operating rules and non-secret definitions.

One email about a permanent Usenet domain change became a request through Wispr Flow. I could dictate what I wanted, rather than spend time on the change myself. Codex checked the provider announcement, updated Prowlarr, passed the connection test with the existing key and confirmed the change synced across all four Sonarr and Radarr instances. No services needed restarting for that job.

It was easy, and I could get on with something else.

The request that needed storage investigation

The longer example was a set of downloads that would not import. I wanted to watch a film. I could have diagnosed the problem and done the balancing myself; I preferred asking Codex to fix it.

The mergerfs pool reported roughly 24 TB free. Yet the branch receiving library files had around 99 GiB available, below a 100 GiB reserve. The placement policy required the relevant directory to exist on a branch. Two spare drives had no such tree, so they were not helping those imports.

The pool reports about 24 TB free, but the library branch is below its reserve and two spare branches lack the directory tree required by the old policy.

A schematic of the recorded September repair. Changing new-file placement and moving existing files were separate jobs; selecting a different policy did not rebalance the data by itself.

Correcting that placement changed where new files could go. Moving existing data was another job: Codex rebalanced 24 older films, checked destination checksums before removing the originals, and read the moved files through the normal network-storage path.

The repair also required recovery from a disconnected mount whose exact cause was not established. When the VM's control agent restarted later, the rebalance paused. Codex checked the state and resumed it. The final record confirmed completion instead of leaving a started transfer to stand in for a result.

Having that control has been really useful to me. I'm using AI heavily and have moved away from spending so much time in the terminal. A MacBook, AI and an AI desktop app are my ideal workflow now. The server still needs work; on these jobs, I could ask Codex for the result and let it deal with the details.


Want to talk about something I’ve written or built? Get in touch.

This Hashnode edition was adapted from the original article on billiem.uk, which remains the canonical and most complete version.