Tech Digest

Guides

Reverse proxies, remote access, backups that restore, identity, updates, storage layout and hardware. The cross-cutting parts you have to get right once, then stop thinking about.

34 articlesLast reviewed

Getting started

Access and networking

Data, backup and recovery

Running it day to day

Platform

Why does my Docker container get permission denied on a bind mount?

The container's uid does not own the host folder. Why named volumes hide it, why Docker makes root-owned folders, and the fix in order.

Platform

Why doesn't depends_on wait for my database in Docker Compose?

depends_on waits for a started container, not a ready database. The healthcheck that fixes it has two traps, and a reboot ignores all of it.

Platform

Why aren't my .env variables reaching the container in Docker Compose?

.env fills in the compose file; env_file and environment feed the container. Five traps measured, from the stray $ to a restart that keeps old values.

Platform

Why does my Docker container fail with exec format error?

The image was built for another CPU, or the entrypoint script has no shebang. One inspect command tells them apart, and a stale local tag is the usual culprit.

Platform

What does Docker exit code 137 mean, and was it out of memory?

137 is SIGKILL, not out of memory. A docker stop timeout produces the same code, and the OOMKilled flag misleads in two cases.

Operations

Do Diun, Watchtower and docker compose pull count against Docker Hub's pull limit?

HEAD checks are free and up-to-date pulls cost nothing. watch_repo and GET-based scripts are what hit the limit.

Platform

Why does Docker say port is already allocated?

Another running container owns that exact address and port. Stopped ones hold nothing. How to find the holder in two commands.

Operations

The minimum viable monitoring stack

Tier one is an off-box uptime check, disk alerting and one channel you read. Most homelabs stop there.

Operations

A security baseline for a home server

Nine things, in order of what actually gets people compromised. Plus the popular advice you can skip.

Identity

Single sign-on for self-hosters: the honest state of it

Three mechanisms, one of which actually works. Plus the account-linking trap and the lockout you have not planned for.

Operations

An update strategy that does not lose data

Notify, do not auto-update. Pin tags, snapshot before upgrading, and know which projects cannot be rolled back.

Platform

What is filling /var/lib/docker, and what is safe to delete?

Logs, dangling images, build cache, volumes or the containerd store. How to tell which, and which prune deletes what.

Hardware and cost