Docker Compose UI – Almost a Thing

I currently manage all my Docker containers in my servers via Ansible. However, either for setting up new containers, testing new images or debugging in the case of emergency, I ssh into my server and fiddle a lot with the shell.

Promising Web based Docker Compose Management?

I came along Docker Compose UI which provides a nice web-based user interface to work with Docker Compose. 

Docker Compose UI is a web interface for Docker Compose.

The aim of this project is to provide a minimal HTTP API on top of Docker Compose while maintaining full interoperability with Docker Compose CLI.

The application can be deployed as a single container, there are no dependencies nor databases to install.

It comes as Docker image itself, which again makes it really easy to deploy. To test it locally, just check out the GitHub repository and run docker-compose up. 

To get the demo project running was quite easy. But…

There is a Catch

  • When I rolled out Docker Compose UI to one of my servers it still showed the demo projects even I changed the overall config
  • To do so, the documentation of the project is not the best
  • After grepping through the entire files, I did not find anything that gave me a hint where the demo projects might come from
  • To me (I might be wrong) it looks like the demo information is built into the Docker image
  • The GitHub project was updated the last time about 12 months ago

Conclusion

Docker Compose UI would be a very useful project. However, the project looks very abandoned to me. Although there are 12 contributors, the very last pull request is open since 2017. The readme was updated the last time in 2018. I might have a closer look into the project or fork it at one point. Until then, it has to stay on the bench.

Link: https://github.com/francescou/docker-compose-ui 

Write WordPress Posts in Markdown

I recently started to write quite a lot of stuff on my laptop down in plain Markdown. It comes handy when I need to put the information on a Web page or in other documents. Also using a revisioning system like Git is much more convenient when using Markdown. Therefore, I was looking for a possibility to write my blog articles also in Markdown.

Jetpack Approach

With Jetpack there is a possibility to enable Markdown syntax in your WordPress editor. To do so, navigate to Jetpackand then select Writing.

Scroll down and toggle Write posts or pages in plain-text Mardown syntax.

Markdown in Comments

In addition, you might want to enable Markdown for comments in the Diskussion section by toggling Enable Mardown use for comments.

If you now head to the WordPress editor, you will realize that Markdown is still not supported. To use Markdown you actually have to add a Markdown block. And here comes the drawback.

The Drawback

While you can now wite Markdown in the block, you will end up with a mix of different types of blocks in your editor. That way Markdown did not help me a lot to simplify my writing of blog articles.

Conclusion

While you can add Markdown support to WordPress with ease, it is rather unsatisfying. I have different goals in mind where I have to dig a bit deeper, as I want

  • to write blog articles offline in Markdown syntax
  • push them to git repository – including images –
  • and post them in WordPress.

There are probably some solutions out there, I haven’t found yet.

Host your very own Tiny Tiny RSS in Docker

Some weeks ago I ranted about the dawn of Google Reader and the declining of RSS and Atom feeds on the Web. I used this extensively, but to be honest, once Google Reader was canceled. After trying some hosted services, I was pointed to Tiny Tiny RSS, which is a lightweight feed reader which can be hosted by yourself.

Tiny Tiny RSS is a free and open source web-based news feed (RSS/Atom) reader and aggregator

Tiny Tiny RSS Screenshot

The installation and update process, however, is not very intuitive and requires a couple of manuals steps. In addition, you need PHP as well as a MySQL or Postgres database.

The installation and update process, however, is not very intuitive and requires a couple of manuals steps. In addition, you need PHP as well as a MySQL or Postgres database.

Eventually, I was looking for Docker containers, but none of the images I evaluated was easy to set up. Therefore, I decided to create my own image with one major goal:

Make it easy to setup and run Tiny Tiny RSS

I created the docker-ttrss GitHub project to achieve exactly this goal. To get a standard ttrss up and running, simply checkout the repository and start the containers.

git clone https://github.com/aheil/docker-ttrss.git
docker-compose up

You’ll have a basic installation with one NGINX one PHP (ttrss) and one Postgres container up and running. To access ttrss, navigate to http://locahost:8080. You can log in using the standard credentials:

Login: admin
Password: password

It is highly recommended to change the password and create a user account afterwards.

I use this image already day by day – still improving it step by step. It takes away the burden of setting up and initializing the database. If you feel this useful, please let me know by opening an issue on GitHub.

Tiny Tiny RSS Homepage: https://tt-rss.org/
GitHib docker-ttrss: https://github.com/aheil/docker-ttrss/
Docker Hub: https://hub.docker.com/r/aheilde/ttrss/

Semantic Versioning

In my current team (actually the whole company) we end up within the dependency hell day by day. Not only that many teams just don’t do any versioning, if they do there are no clear rules how they should do.

Semantik Versioning specification provides a great introduction of how and when to use (semantic) versioning. Definitely worth a read.

In the world of software management there exists a dreaded place called “dependency hell.” The bigger your system grows and the more packages you integrate into your software, the more likely you are to find yourself, one day, in this pit of despair.

In systems with many dependencies, releasing new package versions can quickly become a nightmare. If the dependency specifications are too tight, you are in danger of version lock (the inability to upgrade a package without having to release new versions of every dependent package). If dependencies are specified too loosely, you will inevitably be bitten by version promiscuity (assuming compatibility with more future versions than is reasonable). Dependency hell is where you are when version lock and/or version promiscuity prevent you from easily and safely moving your project forward.

Link: https://semver.org/

Automatically close GitHub Issues

As you might now, I am currently working on a small Docker project to containerize ttrss.

I am using GitHub and Docker just for the sake of keeping up to date with the the features of both plattforms.

Although this might be an old feature, well known in the Git and/or GitHub community, I “accidentally” wrote a commit message fixed #2: …

Well, GitHub automatically closed this issue during the process of creating the pull request and merging it into the master. What an awesome feature, especially when found this was!

World’s Best Pizza

I was never lucky in making pizza. Finally, I came across a recipe for a great pizza dough which actually results in, in fact, the world’s best pizza.

For two pizzas you simply need

150 gr. Hard wheat Semolina
75 gr. Semola di Grano Duro Rimacinata
75 gr. Farina di Grano tenero TIPO “00”
180 gr. Water
6 gr. Salt
3 gr. Freash yeast
Olive oil

I was pointed to this recipe in one of the podcast episode of Bits und so. You can read the whole recipe in this forum, German only though.

Pug it and leave it for at least 48 hours in the fridge. Said that you can leave it there also for 2 weeks. It gets even better the longer it sits there.

We get perfect results out of our simple kitchen oven by using a pizza stone from Pimotti which I picked up at Amazon.

As a result you get fabulous pizza:

RFC Quick Access

To follow best practices, understand and learn new de-facto standards, I read and refer a lot RFCs (Requests for Comments). Luckily, the IETF provides an endless list of RFCs to do so.

If often need quick look into these RFCs while being in an editor or at a console windows. To avoid switching from the keyboard and losing focus, I use a small batch file called rfc.bat to gain access to RFCs very quickly.

rfc batch file call on cmd.exe

The batch script simply calles the IETF RFC URL with the RFC number as parameter.

@echo off
start https://tools.ietf.org/html/rfc%1

Where ever the batch files lives, make sure the directory is in your path. I use a folder called c:\Prg\batch which is synchronized over all my computers.

I have adapted this approach to a variety of manual tasks to open files which live on a dedicated place. E.g. I use a much more sophisticated script to open Visio diagrams based on process numbers from our company sharepoint to gain quick access instead of maneuvering through a bunch of websites. These are more than 500 documents named based on a alphanumeric pattern, so this way makes it much more easy to find and open the documents.

I don’t know how I was able to survive without…

… comic style images of me. No kidding. I text a lot with my wife. At work or university, sometimes there is only a little time between appointments – sometimes not enough for a phone or Facetime call.

Personal emojis as provided by Bitmoji make the difference. We (my wife and myself) use this a lot – and it’s fun even for a grown-up adult.

iPhone iMasse Screenshot using the Bitmoji emojis

It comes as a iPhone app which provides an keyboard with the emojis, but also a an Android app and is available as Chrome extension as well.

To create your avatar you simply create one selfie, and within seconds you’ll have your personal comic style emojis to be used in almost any ab by copying and pasting the images.

It’s not a productivity tool at all and basically, it is just a little bit of fun – but hey, who told that life should be no fun at all?

tiny Reader RSS

I recently started using Tiny Tiny RSS as feed reader. I was looking for some reader I am able to host by myself. To achieve this, I’ve set up a dockerized version of tt-rss to be hosted on my server (more on this topic later).

While I am overall pleased by the overall experience with tt-rss, I was looking for a complementary iPhone app. I found (and can highly recommend) tiny Reader RSS by Pascal Pluchon.

The app comes with a clean UI, very easy to use. When opening the very first time you might run into the error API_DISABLED.

To fix this, log into tt-rss and navigate to you settings pane. Simply check Enable API to allow the app to communicate with your server.

Link: https://tt-rss.org
Pascal Pluchon’s site: https://www.pluchon.com/en/index.php

The Missing Gadget – USB Charging Port at Microsoft Surface AC Adapter

I currently work in a clean desk office space. Every evening, I pick up everything belonging to me beside the monitors. Every morning I come, I prepare the desk. Putting my laptop there, attaching the power plug, the monitors and so on.

Every morning I get all my devices out of my bag. And every morning I see the same picture.

My daily USB conneectors

And here begins the fun. I currently use a Microsoft Surface Pro – and while I truly love this device and it’s functionality, the USB capabilities are a major drawback. Similar to my MacBook which only provides one USB-C port, the Surface only has one standard USB port.

Microsoft Surface with only one USB port

Most of the devices I can switch based on the particular need (at the desk, in the meeting). However, most of the time, the USB port is occupied to load my mobile devices. Headphones, phone, one more phone, battery pack need to be charged during the day.

Why are USB power outlets on workplaces not a standard, nowadays? On my desk I find power outlets and netport ports. However, no possibility to charge my USB devices. Maybe you have this already on your working space, but here, we don’t have it.

Eventually, Microsoft Surface AC adapter comes with a very simple solution . It provides a USB power outlet allowing you to charge your devices without the need to occupy one (or the one) USB port of your laptop.

This solution is just obvious and practical. I wonder why this is not a standard on AC adapters meanwhile. I hope to see this more often in the future.