How To: Run Several Services Behind a Reverse Proxy

This is a follow-up article for my previous one which describes how I migrated my personal Nextcloud to a docker setup. It’s part me telling a story of what I learned and part “How To” so someone can recreate my steps. After I had managed that I figured I might as well go one or two steps further and host additional things on my home server. After all it has 4 GB of RAM, most of which is still unused. Also, if I only use these services myself, they should never generate enough load for it to become a problem. Or so I judged. ...

April 13, 2022 · 8 min

How To: Set up NextcloudPi with Docker

I’ve been successfully running a Nextcloud instance for a while now and it’s quite useful. When I did the setup the first time I installed the entire stack on bare metal by hand. Raspberry Pi with Raspbian (now Raspberry Pi OS), Apache, MariaDB, PHP, the works. I closely followed tutorials on it because I knew very little of what I was doing and there’s a lot to keep in mind in terms of performance, security, configuration of various things and so on. ...

April 6, 2022 · 5 min

How To: Disable Origin Overlay for Steam Games

The Origin launcher is a blight upon the galaxy. Period. It just sucks. Unfortunately the company making it and forcing it on people happens to be the publisher of some of my favorite game franchises, namely all of the current Star Wars games, Mass Effect and Dragon Age. I’m not willing to refrain from playing any of them because of ideological reasons. An added difficulty is that Origin doesn’t play too nicely with Linux. I have difficulty entering my passwords and having them recognized properly, it’s fairly slow to load, it starts multiple Origin instances of processes when I start a game for some reason and it tries to force yet another overlay on me that results in stutter, window minimization and sometimes even crashes. I’m not a fan of overlays in general, they break my immersion, but Steam lets me disable theirs easily enough at least. ...

March 23, 2022 · 2 min

How To: Commit to someone else's pull request

I’m currently experiencing the pleasure of collaborating on an open source project with someone else on GitHub and I love doing it. There was an issue with runtime performance and we looked into it, discussed ideas and coded up several prototypic solutions (I admit mine were rather dirty). At one point I reviewed someone else’s pull request and wanted to add something to it. Sure, I can use the online editing features of GitHub but that doesn’t really tie in well with my code-writing workflow, not to mention that all the autocompletion, linting and inline compiler errors won’t be present. So I looked for a way to push a commit to someone else’s pull request that I could prepare locally. I searched and found a good solution which I’m gonna write up here as reference for future me. ...

March 2, 2022 · 2 min

How To: Work with Python virtual environments

Whenever you start a project in Python you probably want to do it in a fresh environment so as not to have your dependencies clash with those of other projects, prevent version mismatch or other unexpected breakage. The way to do this is by using virtual environments. As far as I know there are several ways to do this in Python (as always…) but the most prevalent, it seems to me, is using the builtin venv module. ...

February 9, 2022 · 2 min