Digital Sovereignty

Maintaining decision rights and individual freedom in regards to digital tools and technology
3 posts

Migrate Matrix server database to postsql

While getting a Matrix chat server up and running is a relatively easy and well documented task, managing and maintaining the server is somewhat nebulous as far as existing documentation is concerned. For example, when my wife asked me to reset her password on our server, I quickly realized that I had no idea how to do such a thing. After some digging around on the net, it became apparent that other people were having similar problems. Regardless of which method used to install a Matrix server, a homeserver.db file is always present after installation. This file represents all data associated with the server such as rooms, users, their passwords, and their attributes. By default, Matrix uses sqlite3 to access this .db file....
Read more

How to secure your SSH server

How to secure your SSH server
In order for a user to connect to a remote SSH server, the user needs the following three bits of data: A valid username The correct password The port SSH is configured to use on the remote server As a server admin, if you are able to obfuscate any of these three items your server becomes infinitely more secure from brute-force style attacks. While this style of attacks are generally for dummies, you'd be surprised by how often they are successful. Side node: most of the time the attacking IP addresses are from the other side of the planet (which is kind of neat). As an example, here is one of many IP addresses that was constantly attempting connections to the machine running this website. If you're worried that your machine is being...
Read more

Static site refactor

Now that my degree is techinically done (more on that here), I had the free time to catch up on my project backlog. After the last site refactor utilizing PHP, I realized that I was in way too deep for the scope of this site. This is supposed to be a small personal website to write notes to myself and others, not something that needs to be overly complicated. Similar to the previous rework, I set up some goalposts for myself to work towards: Easy to write and update blog posts Written from scratch (mostly) "Just works" Looks and feels modern Keep page size and bloat to a minimum Instead of using a language like PHP that dynamically renders a markdown page each time a new page is accessed on the site, I realized that it would be much...
Read more