
You edit .env, restart the container, and the old value is still there - no error anywhere. The exact precedence order between env_file, environment, and your shell, reproduced on a real stack, plus the fix when Compose won't pick up the change.
Author
154 articles
Milan Buha is the founder and editor of VoidInsider. Curious by default, he likes understanding things from the inside — the technology he depends on every day, the systems behind everyday money decisions, the fine print everyone else skips. He writes about what he's tried, checked, and actually uses, the way he'd explain it to a friend.

You edit .env, restart the container, and the old value is still there - no error anywhere. The exact precedence order between env_file, environment, and your shell, reproduced on a real stack, plus the fix when Compose won't pick up the change.

Every password manager says it: "zero-knowledge." Here is what that actually means technically, how client-side key derivation works, and a 5-point checklist to verify any vendor is claim for yourself.

Duplicate keys, mixed env syntax, unquoted booleans - none of them throw an error. A structural walkthrough of docker-compose.yml with YAML anchors to cut repetition and the docker compose config habit that catches mistakes before they reach a running container.

A new phone demanded a Google Password Manager PIN before your logins synced. Here's exactly what it protects, what it doesn't, and what happens if you lose it.

depends_on orders container starts, not readiness — Postgres can still be mid-recovery seconds after its container 'started'. Real log timestamps proving the gap, plus the condition: service_healthy fix that closes it.

A README lists 40-plus Docker Compose subcommands. In practice, running several stacks on one homelab host means using about eight of them daily, plus one gotcha: pull, logs, restart, and exec all scope to a single service if you name one.

Every Compose stack you copy from a README defaults to the same handful of ports. Here is how host vs container ports actually work, why multi-stack homelabs collide, and when to add a reverse proxy instead of publishing ports directly.

You ran docker-compose up -d on a box where that exact command has worked a dozen times before - or a Pi you just flashed, or a Synology you just rebooted - and the shell answers docker-compose: command not found. Docker itself is clearly installed; docker ps works fine. So what broke?

Bitdefender SecurePass, Kaspersky, and Norton all bundle a password manager into their antivirus suite — here is what each one actually includes, and skips, versus Bitwarden.

The real decision framework for outgrowing Docker Compose: numeric container and node thresholds, the K3s middle step most guides skip, and what migrating actually costs — grounded in a single-host homelab.

I migrated a real vault from Bitwarden to Proton Pass: what imported cleanly, what broke, and whether the bundle price beats paying separately.

Firefox saves and syncs your passwords for free with real encryption — but it's missing sharing, 2FA storage, and a true biometric vault unlock. Here's when that's fine, and when it isn't.