Broke Ghost but it was really a forgotten password

The family portal looked dead, replacement CMS options started getting judged, and then the whole “incident” turned out to be a forgotten login.

Original work date

early March

The problem

The Family Portal was running on Ghost and appeared broken. Instead of starting with boring triage, the problem immediately felt bigger than it was. WordPress got dragged back into the conversation. Concrete CMS got judged. The whole platform was briefly on trial.

The environment

What failed

Then the boring answer showed up. Ghost was not destroyed. The container was fine. The login credentials were the problem.

The fix

Once the password was reset inside the container, the “outage” was basically over

Final state

What I learned

Before replacing the whole platform, make sure the platform is actually broken.

Useful commands / config

paste commands here

The monitoring agent I forgot existed

Moving Docker and containerd data to the RAID array was the right infrastructure move, but it broke Dockhand’s host agent because the agent had assumptions about where Docker lived.

Original work date

Early Feb2026

The problem

Docker storage was moved off the default path and onto the RAID drive for better headroom and cleaner host layout. Beszel kept working, containers kept running, and the actual Docker move was fine.

The environment

What failed

Dockhand quietly stopped reporting. The issue was not Docker itself. It was the third-party agent installed by a one-line curl-to-bash script.

The fix

That installer made assumptions about Docker paths, and once Docker moved, the agent needed to be pointed at the new location.

Final state

Beszel has been replaced by hexmap, and dockhand has been replace by renovate/argocd

What I learned

Anything installed with curl-to-bash needs to be documented before it’s forgotten.

Useful commands / config

paste commands here