I am back!
If anyone has tried to access this site or any of the services hosted on this server in the past 2-3 weeks, you may have found that the site was down. This was caused (I believe) by a brute force attempt on my previous blog, which was based on Wordpress. This caused the CPU to max out and the hard disk space to max out at 100 percent. I’ve since had to reinstall the OS and completely reconfigure the server.
After this happened, I decided that I should containerize my services to limit the capabilities of an attacker if they were to successfully break into the system, as well as make it easier for me to re-deploy my services, as well as keep services up to date.
I also decided that the new blog should be written in a static site generator. I’ve chosen Hugo as the platform for this, mainly because it is written in the Go programming language.
Go is very efficient in terms of resource usage since Go applications are compiled to native binaries similarly to C and C++. However, unlike C and C++, in Go applications are 100 percent cross platform without any custom cross-platform code. For example, I can take my existing source code for a Go application and compile it on both Windows and Linux without any modifications, and it will run perfectly. This also gives me the ability to run this service on OpenBSD, which I am considering doing in the future.
Currently this server hosts the following services:
- This blog, which is accessible at https://orcadian.net
- An instance of searx, which is an open source, self-hosted search engine. This is available at https://searx.orcadian.net
- A mumble server, which is an open source, low-latency, high quality voice chat software. This is accessible via mumble.orcadian.net on port 64738.
- A tor exit node. Here is the Tor atlas page for my specific node.
In the near future I plan to add a non-publicly accessible torrent seedbox to that list. I also need to automate updates and deployments for the Docker containers hosted on the server.
Here are a few personal projects I am working on/will work on:
- This blog. Here is the source code.
- Testing OpenBSD. Every release, OpenBSD gets closer and closer to me being able to use it as my day to day desktop. I plan on adding a second hard drive to my Thinkpad X220 and installing OpenBSD on that drive, and using that as my day to day OS for a while.
- Learning Golang. Go is a very nice, cross platform language, and I would like to use it in more projects, be they personal or professional.
- Packaging applications for Void Linux. Void is the most minimal Linux distribution I could find, and I have been very happy with it thus far. I especially enjoy the fact that it does not use systemd as its init system.