Docker in Docker

Introduction Method 1: Mounting /var/run/docker.sock docker.sock permission error ...

Adding a serial port to a QNAP TS-251D

I am using a QNAP TS-251D NAS. Because I would like to switch from QTS to Alpine Linux I though it would be useful to enable the serial port. The TS-251D has a built-in serial port that is already enabled and only needs to be connected. For that you need a number of parts: ...

Ansible Best Practices

This is a conversion from a presentation/pdf by Tim Appnel. I attached a copy here too. Roles and Modules ...

Why Ansible?

As part of an effort of standardising my home lab I decided to migrate my ad-hoc configuration scripts into a more standard tool set. So I looked at: puppet chef ...

OpenTofu

Introduction Origins Why use OpenTofu Using OpenTofu ...

Inetd like service with systemd

This is an example of a socket-activated per-connection service (which is usually referred to as inetd-like service). A thorough explanation can be found at 0pointer.de. Define a socket unit The key point here is to specify Accept=yes, which will make the socket accept connections (behaving like inetd) and pass ...

Locking down SFTP

This is a small recipe to increase the security around a SFTP interface. In the /etc/ssh/sshd_config file include the following settings: Subsystem sftp internal-sftp This configures the sftp subsystem to use the internal sftp implementation. This is because inside the chroot, we usually will not have the normal ...

Python GUI

After looking a multiple options of GUI programming under python I eventually settled for tkinter. The main reason was that tkinter is very ubiquitous and initially though the learning curve wuld have shorter as I was very used to GUI programming using TCL/TK. Turned out that what I known TCL/TK did not translate ...

cisco bridging

This article is here as a reminder. So, for testing, I needed to configure a Cisco CSR1000V virtual router as a bridge. So I used a version 16 Cisco IOS XE image. To make my life easier I used the "wizard" that runs the first time to automatically configure bridgning. Ironically, this created an invalid ...