Tech Snippets

Random notes and code snippets from everyday IT life. Might be of help in some cases.

#music #radio #tipp #tools #software

I’ve been asked which tools and software I use to handle a large, well-tagged music library. Well, here’s the answer, with some links.

Note: This may appear a bit Linux-biased, but I use almost only Linux systems. Many, if not most, of the mentioned tools are also usable on MacOS or Windows.


#azuracast #radio #linux #picotts

Many of us want (or are required to have) a periodic time and station ID announcement for our internet radio stations. We could make sound files for every hour and minute and write crazy long scripts to play those at the top of the hour (TOTH), but there is a much easier way:

How about having a simple MP3 file that you can use in your playlists any time and that always has the correct time and station ID?


Tags: #nextcloud #writefreely #linux

Writefreely is a superb, minimalistic blogging platform, but it lacks an easy means of integrating images (and other files). Imagine you could use simple Markdown to include images from your Nextcloud instance, like so:


Well, I show you how to!


Tags: #selfhosting #nginx #npm #prosody

Let’s assume you run Prosody as your XMPP server, and use Converse.js as your web chat client. Using Prosody’s mod_conversejs, your base URL (say will show just a boring “Prosody is running” page, and serve the web chat client under

What you want instead is your main page directly show the Converse.js web chat under but still be able to access sub-paths and files in your web root directly (like maybe favicon.ico, or Prosody’s BOSH URL


Tags: #selfhosting #letsencrypt #nginx #npm #prosody #python

Especially when self-hosting, the wonderful Nginx Proxy Manager (NPM) is often used as a reverse proxy, and for generating and auto-renewing SSL certificates. But how to export the right certificate to another machine that needs it, like the Prosody XMPP server?

This can get rather complicated, since NPM internally stores its configuration and certificates in numbered files instead of using the domain names for filenames.

Well, here is a possible solution.