So you have a number of Docker containers running web services which you would like to expose to the outside? Well, you probably will at least have considered a reverse proxy already. Doing this manually for one, two or even five containers may be feasible, but everything above that will be a PITA for sure. At the FSFE we ran into the same issue with our own distributed container infrastructure at and crafted a neat solution that I would like to present to you in the next few minutes.
In the recent weeks and months, the FSFE Web Team has been doing some heavy work on the FSFE website. We moved and replaced thousands of files and their respective links to improve the structure of a historically grown website (19+ years, 23243 files, almost 39k commits). But how to do that most efficiently in a version controlled system like Git? In our scenarios, the steps executed often looked like the following:
You cannot imagine how long I’ve waited to write this blog post. Normally I’m not the bragging kind of guy but for this year’s edition of my „I love Free Software“ declaration articles (after 2014, 2015 and 2016) I just want to shout out to the world: I have the world’s best mail client: astroid! Hugo and me declaring our love to astroid Hugo and me declaring our love to astroid Update February 2018: Meanwhile I have published my mail config incl.
Note: This guide is also available in FSFE’s wiki now, and it will be the only version maintained. So please head over to the wiki if you’re planning to follow this guide. Those who create, edit, and translate FSFE websites already know that the source files are XHTML files which are build with a XSLT processor, including a lot of custom stuff. One of the huge advantages from that is that we don’t have to rely on dynamic website processors and databases, on the other hand there are a few drawbacks as well: websites need a few minutes to be generated by the central build system, and it’s quite easy to mess up with the XML syntax.
Since end of 2014 I published some of my Free Software code – mostly Bash, R and HTML/PHP – on a self-hosted gitweb instance. I did this because I wanted to share the work I’ve done with other people because I’ve learnt a lot by reading other people’s code. Although I’m just a „hobby programmer“, I hoped at least some people can benefit from it. The last few days, I switched from gitweb, a very simple web interface for my git repositories, to Gogs, a feature-rich webservice which still is lightweight, and quite simple to install and maintain – and of course Free Software!
Imagine you want install GNU/Linux but your bandwidth won’t let you… tl;dr: I wrote a rather small Bash script which splits huge files into several smaller ones and downloads them. To ensure the integrity, every small files is being checked for its hashsum and file size. That’s the problem I was facing in the past days. In the school I’m working at (Moshi Institute of Technology, MIT) I set up a GNU/Linux server to provide services like file sharing, website design (on local servers to avoid the slow internet) and central backups.
“It’s Valentine’s day and you’re writing a blog post? Are you nuts?” you might ask. Well, but it’s not only Valentine’s day but also I love Free Software day. This day is proclaimed every year on February 14 by the Free Software Foundation Europe to thank all developers and contributors of Free Software (software you can use for any purpose, which source code you or others can analyze, which can be modified and distributed).
Some days ago I noticed another time that I have far too little knowledge about Git. „Time to change that!“, I thought and set up my own Git instance and also installed gitweb for better usability. Upside 1: I can keep track of the many (mainly bash) scripts I wrote in the past and all the changes I will adopt in the future. Upside 2: You can hopefully benefit from using and reading my code.
If you use Thunderbird and its contact functionality, you might already have stumbled over the „show on map“ feature. If you add addresses to your contacts (no matter if directly in Thunderbird or via CalDAV) there appears a button which enabled you to open a map with the contact’s location. The default search provider is Google Maps. If you don’t like this service and prefer free and open systems like me, you can also add openstreetmap.
Not a big issue in this blog post but an important one. Maybe I can save you some valuable time if you ever look for such a function. As you know I’m a heavy user of ownCloud and you also might know that synchronisation is a big topic for me. And the third thing you should know that forgetting a good friend’s birthday really su… well, it’s no good style.