← FIELD NOTES

The First Docker Stack

How containers changed the homelab from a server with apps into a platform for experiments.

Before Docker became central to the lab, applications were messy in the way home servers often are. A tool would need a package, the package would need a dependency, the dependency would want a different version than something else, and eventually the server became a museum of past decisions.

It worked until it did not.

Docker changed that pattern. It made applications feel like units that could be added, removed, tested, and replaced without treating the base server like a shared junk drawer.

Isolation Was The Hook

The first appeal was isolation. A media tool, a utility app, and a database no longer needed to negotiate over the same system packages. Each service could carry more of its own world with it.

That did not remove complexity, but it moved complexity into a place that was easier to reason about. Instead of asking what had changed on the server over the last year, I could look at container configuration, volumes, images, and ports.

Repeatability Was The Win

The real win was repeatability. If a service could be described well enough to run once, it could usually be described well enough to run again.

That changed how I tested. New tools no longer felt like permanent commitments. Spin one up, map storage intentionally, test the workflow, and remove it if it did not earn a place. The lab became a better place to explore because experiments stopped leaving as much residue.

Storage Still Mattered

Containers did not make storage design go away. They made it more important. Persistent data needed clear paths. Configs needed to be backed up. Databases needed to be treated differently than disposable application images.

That was a useful pressure. Docker made the boundary between application and data more visible, and the lab improved because of it.

The Direction Was Set

The first Docker stack was not elegant. Most first stacks are not. But it showed the path forward: keep the host simple, keep services isolated, keep data intentional, and make experiments cheap enough to try.

That is when the homelab stopped being just a storage server with extra apps and started becoming a platform.