Optimizing Docker Container Image Size

Introduction When I was containerizing my blog search service, I went through multiple iterations of the Dockerfile as I was learning how to create an image. Containerizing was easy but I wanted to create a small and efficient image and that process was a bit more involved than I expected. I want to go into a little detail about what I learned about writing a Dockerfile that puts importance on the final image size....

January 7, 2024 · John

Updating Blog Full Text Search

Introduction A few years ago I switched from WordPress to Jekyll and I lost full text search. But then I remembered I’m hosting my blog on my own server! So I wrote a Full Text Search service to restore the only feature I lost in the transition. This was working great until I moved from Jekyll to Hugo. The search Javascript needed a slight tweak but otherwise search was still working....

December 5, 2023 · John

A Better Vaultwarden Deployment

Introduction Earlier this year I looked at switching from Bitwarden (online service) to self hosting Vaultwarden. The post I wrote was fairly high level and focused on different container options. It was a fairly generic deployment that didn’t go into much detail. Configuration and security considerations were woefully neglected in that post. It also didn’t go into detail about how I’d integrate it into the VPS that I use as VPN, DNS, and now password vault server....

November 26, 2023 · John

Vaultwarden a Self Hosted Password Vault

Introduction When Lastpass first came on the scene I jumped on it because of how easy it makes syncing passwords between devices. Previously, I was using a local password manager that was only on my computer. Thankfully, mobile logins weren’t nearly as necessary for daily life back then. However, I still needed my computer to log into anything on my phone. Over the years, Lastpass started having security incidents. This isn’t surprising with how big it became....

March 16, 2023 · John