Falko<p><strong><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/weeklyreview/" target="_blank">#weeklyreview</a> 17/2025</strong></p><p>Easter brunch with the family in the <a href="https://www.doellnsee.de" rel="nofollow noopener" target="_blank">Hotel Döllnsee</a>. Always a good place to go. But way too much food 😉 Could hardly move after the brunch. </p><p>Still we went watching the new lambs of a befriended shepherd in the afternoon. </p><p>Dad in law took care of our beehives. Out of two only one hive survived. But we’ll create a new hive by splitting the one left.</p><p><strong>Docker container debugging</strong></p><p>Every once in a while I have issues with docker containers running wild. It’s not entirely trivial to figure out to which container a certain process belongs when you have multiple containers running on the same host. Due to an<a href="https://github.com/louislam/uptime-kuma/issues/3788" rel="nofollow noopener" target="_blank"> open bug in Uptime-Kuma</a> I had to dig a little deeper and wrote myself a shell script to show the process tree of each running container:</p><pre><code>#!/bin/bash# iterate over all running containersfor container_id in `docker ps --format "{{.ID}}"`; do # Find the containers main PID CONTAINER_PID=`docker inspect --format "{{.State.Pid}}" ${container_id}` # Find the containers name CONTAINER_NAME=`docker inspect --format "{{.Name}}" ${container_id}` # Print container name and pstree echo "$CONTAINER_NAME" pstree -as ${CONTAINER_PID}done</code></pre><p></p><p></p><p>The output looks something like this:</p><p></p><p></p><pre><code>/cryptpad-cryptpad-1systemd └─containerd-shim -namespace moby -id dfb89938eb040038d51a03c016ca04d769eaf0829c00e10c0abe8cf4e6ec0d67 -address /run/containerd/containerd.sock └─npm start ├─sh -c node server.js │ └─node server.js │ ├─node ./lib/http-worker.js │ │ └─10*[{node}] │ ├─node ./lib/http-worker.js │ │ └─10*[{node}] │ ├─node lib/workers/db-worker │ │ └─10*[{node}] │ ├─node lib/workers/db-worker │ │ └─10*[{node}] │ └─10*[{node}] └─10*[{npm start}]/asciinema-asciinema-1systemd └─containerd-shim -namespace moby -id 4af82a250865da13c45431423d042cb6d79d6daaead8536c2f60d6e38a7ee640 -address /run/containerd/containerd.sock └─tini -- /opt/app/bin/server ├─beam.smp -- -root /opt/app -bindir /opt/app/erts-13.1.4/bin -progname erl -- -home /root -- -noshell -s elixir start_cli -mode embedded-setcook │ ├─erl_child_setup 1048576 │ │ ├─cpu_sup │ │ ├─inet_gethost 4 │ │ │ └─inet_gethost 4 │ │ ├─memsup │ │ └─sh -s disksup │ └─19*[{beam.smp}] └─epmd -daemon/traefiksystemd └─containerd-shim -namespace moby -id 100922f0440f49a306caa163a025c0a948d60ca37d2adfd80b090abd4b34a3ab -address /run/containerd/containerd.sock └─traefik traefik --accesslog=true --api=true --api.dashboard=true --api.insecure=false --certificatesresolvers.myresolver.acme.tlschallenge=true... └─12*[{traefik}]</code></pre><p></p><p></p><p>This should help identifying the process and the container it belongs to. Now finding the respective <code>docker-compose.yml</code> on your disk is a different story 😉</p><p></p><p></p><p><strong>Pop-Up Dinner </strong></p><p></p><p></p><p>On Thursday evening we went to a pop-up dinner at <a href="https://www.fechtner-delikatessen.de" rel="nofollow noopener" target="_blank">Fechtner Deli</a>. Delicious italian-indonesian-indian fusion kitchen. All veggie and very delicious. I can tell, because I had the left-overs from my friends as the portions were rather big. </p><p></p><p></p><p></p><p></p><p><strong>Asparagus</strong></p><p></p><p>As a German it’s customary to celebrate asparagus this time of the year. Large quantities will be consumed in the next few weeks. We did our part siding it with grilled salmon and self-made Sauce Hollandaise. </p><p></p><p></p><p><strong>Gardening</strong></p><p></p><p>Finally cut the hedge on the weekend. Quite exhausting due to the unusual movement of holding the electric hedge cutter overhead… </p><p></p><p>Also prepared the raised beet for the new season. We still wait for one or two more weeks to put our tomatoes outside as the nights are still too cold. It was below 0º C on the weekend again.</p><p></p><p></p><p></p><p></p><p></p><p><a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/docker/" target="_blank">#docker</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/en_en/" target="_blank">#enEN</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/gardening/" target="_blank">#gardening</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/scripting/" target="_blank">#scripting</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/shell/" target="_blank">#Shell</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/uckermark/" target="_blank">#Uckermark</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/weekly/" target="_blank">#weekly</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/weeklyreview/" target="_blank">#weeklyreview</a> <a rel="nofollow noopener" class="hashtag u-tag u-category" href="https://falko.zurell.de/tag/wochenrueckblick/" target="_blank">#wochenrueckblick</a></p>