Joel
God-forsaken Docker and RTFM!
by Joel Strasser on 2019-12-31T21:09Z
Greetings,
Solving an unforeseen problem is especially nerve-wracking if you work on your gate to the internet (kind of).
On my weekly SSH round-trip to my servers, where I update system and software (mostly guided, I only intervene on
errors)
I updated my self-hosted Bitwarden instance. this is where the problem
begins.
Unknowingly at this point, I successfully set my be-loved password manager offline due to an oversight from my
side.
So the days pass and nothing happens. I can still log-on to websites, my TOTPs work just fine.
Today I noticed that I cannot log on to my Bitwarden server on a new device. Weird.
The browser extension seemed fine so I suspected it was server and yeah, a beautiful 502 Bad Gateway
,
but
the error was coming from the nginx provided by Bitwarden, since I use an Apache HTTP daemon for proxying, so on to
fixing the error.
Maybe a Bitwarden update would help? No.
System update? Try again.
Ok. Let's ask the mighty problem solver ... Google.
(Fast-forward an hour: nothing described my situation.)
Fine, time to list docker processes with docker ps
. And there you find the culprit some containers were
in an unhealthy.
After consulting the Bitwarden manual I verified that at least the mssql container was fine.
Shortly after, I nailed down the culprit to be the admin container not connecting to the mssql server.
After another system update and a reboot, the problem persisted.
On to the manual again.
And then there it was. Docker.
Turns out the Docker installation was slightly out of date (if you agree that one major version is
slightly)
So installing the newest Docker version from the Docker repo directly (not Debian), rebuilding Bitwarden and
my
sacred blue angel came back to life.
Lessons learned:
- Now your tech stack (I thought I had the latest Docker version installed)
- Read the fucking manual (for real)
- For the love of god, please use Ubuntu on your server (if you are not insane, if you are, then welcome on board!)
Joel