2025-02-17 16:00:47 +01:00
|
|
|
---
|
2025-02-17 16:01:42 +01:00
|
|
|
title: Klankbord Digest February 2025
|
2025-02-17 16:00:47 +01:00
|
|
|
published: false
|
|
|
|
template: newsletter
|
|
|
|
---
|
|
|
|
|
2025-02-17 15:14:01 +01:00
|
|
|
# Klankbord Digest February 2025
|
|
|
|
|
|
|
|
## Recent Events
|
|
|
|
|
|
|
|
{{ events passed }}
|
|
|
|
|
|
|
|
## Upcoming Events
|
|
|
|
|
|
|
|
{{ events upcoming }}
|
|
|
|
|
|
|
|
## Server Update
|
|
|
|
|
|
|
|
*By Riviera*
|
|
|
|
|
2025-02-17 14:50:50 +01:00
|
|
|
Let's backtrack a bit to understand how the current circumstances
|
2025-02-17 15:14:01 +01:00
|
|
|
arose. The Klankschool server began as a prototype on a Mac Pro "Trash
|
|
|
|
Bin" computer which I borrowed. It had 16 GB of RAM and for this
|
2025-02-17 14:50:50 +01:00
|
|
|
reason, it was possible to run loads of software on the machine. For
|
|
|
|
this purpose, I used Incus, which is a Linux Container Management
|
|
|
|
System. It's a fork of LXD, which is made by Canonical. Canonical
|
|
|
|
decided to make LXD proprietary a while ago, and so Incus was the
|
2025-02-17 15:14:01 +01:00
|
|
|
natural alternative. I set up a bunch of system containers inside of
|
|
|
|
this machine and these were capable of communicating with each
|
|
|
|
other. There was an advantage to using Incus over using LXD. For
|
|
|
|
example, it was possible to launch operating systems other than Ubuntu
|
|
|
|
on top of the host operating system. And this was no longer easily
|
|
|
|
doable with LXD.
|
2025-02-17 14:50:50 +01:00
|
|
|
|
|
|
|
I thought it would be a good idea to install Arch Linux on the Trash
|
|
|
|
Bin as the host operating system. This was probably not a good idea,
|
|
|
|
because Arch Linux offers very up-to-date software and is constantly
|
|
|
|
changing. If software is not kept up-to-date, things break. And when
|
|
|
|
the software is updated, sometimes things break. In any case, I wanted
|
|
|
|
to be able to launch different operating systems because various
|
2025-02-17 15:14:01 +01:00
|
|
|
pieces of software that I wanted to run on the machine were packaged
|
|
|
|
for those operating systems and available in the repositories. For
|
|
|
|
example, I wanted to run an OpenProject instance for collaborative
|
|
|
|
project management. In the past I attempted to build this Ruby on the
|
|
|
|
Rails application from source inside a Ubuntu container. I found that
|
|
|
|
that simply didn't work in the long-run. The background jobs processor
|
|
|
|
wasn't working at all. Everything got clogged up, and it
|
|
|
|
crashed. Slowly. And that was the end of that, because the system was
|
|
|
|
simply unusable. Thus, running OpenProject in a Debian environment,
|
|
|
|
without running Debian on the machine itself, was the main reason why
|
|
|
|
I wanted to run Incus. At present, the OpenProject is offline,
|
|
|
|
however, and will not make a reappearance. Partly because it has been
|
|
|
|
replaced by
|
|
|
|
[Kanboard](https://todo.klank.school/public/board/fa03d54c293e0b2a65120c985ef070ad3e08e499b66a7c83c177e5b3488e),
|
|
|
|
partly because it used 1.6GB of memory. The latter was not an issue on
|
|
|
|
the Trashbin, but was an issue on the next server.
|
2025-02-17 14:50:50 +01:00
|
|
|
|
|
|
|
Which brings me to a discussion of the next machine: a second-hand
|
2025-02-17 15:14:01 +01:00
|
|
|
Supermicro, which I picked up from v2\_ in late December. This
|
|
|
|
machine, it turns out, used 90 watts of electricity per hour, which is
|
|
|
|
a lot. For whatever reason, the fan was running at full blast all the
|
|
|
|
time. Everyone who saw it said it shouldn't be doing that. But it was
|
|
|
|
doing that and it wasn't clear why. In any case, the task as I saw it,
|
|
|
|
before I understood how much electricity this thing was consuming, was
|
|
|
|
to transfer the containers from the Trashbin to the Supermicro
|
2025-02-17 14:50:50 +01:00
|
|
|
machine. There were many containers and I wasn't going to use all of
|
|
|
|
them. Using a laptop and a VPN and an Ethernet cable, I was able to
|
|
|
|
transfer the required containers to the Supermicro
|
|
|
|
server. Technically, when running different operating systems with
|
2025-02-17 15:14:01 +01:00
|
|
|
Incus it's better to use Kernel Virtual Machines. As I wasn't doing
|
|
|
|
that it was already suffering from mis-configuration issues.
|
2025-02-17 14:50:50 +01:00
|
|
|
|
|
|
|
Furthermore, I decided to install Arch Linux on the Supermicro machine
|
|
|
|
as well. There was a bit of complexity involved in booting the server,
|
|
|
|
because it needed to be network booted, and that was something I had
|
|
|
|
not previously encountered. It was quite the adventure but I set it up
|
2025-02-17 15:14:01 +01:00
|
|
|
hastily. When I installed the operating system, I used `fdisk` to
|
|
|
|
partition the hard drives. I set aside 8GB of swap space and a 120GB
|
|
|
|
root partition, which makes limited sense. No way was there going to
|
|
|
|
be 120GB worth of software on the machine. More likely: it was going
|
|
|
|
to run out of memory. At least things were up and running at this
|
|
|
|
point. There was the OpenProject. There was a live coding system,
|
|
|
|
Flok. There was a SFTP server. There was a container for the
|
|
|
|
websites (why not just use `/var/www/`...?). There was a Gitea
|
|
|
|
instance and a Gitea runner. There was a container for the PostgreSQL
|
|
|
|
databases. And, finally, one for the calendar also. These were all
|
|
|
|
online at one point and using up a lot of memory. The Supermicro
|
|
|
|
server only had 4GB of memory. Unsurprisingly, it could not handle all
|
|
|
|
of this and crashed. Therefore migrating some of the data / processes
|
|
|
|
elsewhere was required. The primary reason for this was to reduce
|
|
|
|
memory consumption. Accordingly the
|
|
|
|
[calendar](https://calendar.klank.school) moved to a VPS in Graz,
|
|
|
|
Austria. This is now online and should stay online as long as the VPS
|
|
|
|
is going!
|
2025-02-17 14:50:50 +01:00
|
|
|
|
|
|
|
In any case, the supermicro server joined the Varia hub. Very
|
|
|
|
exciting. Everything was routed through a VPN, and I had to
|
|
|
|
reconfigure various web servers inside several containers in order to
|
|
|
|
make it work as expected. One advantage of using system containers on
|
|
|
|
a per-application basis is that a more granular picture of web
|
|
|
|
requests can be assembled. Each container had its own web server as
|
|
|
|
depicted in the following diagram.
|
|
|
|
|
|
|
|
```
|
|
|
|
live.klank.school
|
|
|
|
o
|
|
|
|
|
|
|
|
|
| code.klank.school
|
2025-02-17 15:14:01 +01:00
|
|
|
| o
|
2025-02-17 14:50:50 +01:00
|
|
|
| |
|
|
|
|
+-----------+---------+-------------------------------------+
|
|
|
|
| | | |
|
|
|
|
| +-------+---------+-----+ +-------------------------+ |
|
|
|
|
| | B | | | | B | |
|
|
|
|
| | O +---+---------+--+ | | O +-------+ +-------+ | |
|
|
|
|
| | X | | | | | | X | Nginx | | Gitea | | |
|
|
|
|
| K | | o HAProxy o--+--+---+----+---o---+--+---o | | |
|
|
|
|
| L | O | | | | | T | | | | | |
|
|
|
|
| A | N +---+------------+ | | H +-------+ +-------+ | |
|
|
|
|
| N | E | | | R | |
|
|
|
|
| K +-------+---------------+ | E | |
|
|
|
|
| | | E | |
|
|
|
|
| S | +-------------------------+ |
|
|
|
|
| E +-------+------------------+ |
|
|
|
|
| R | B | | each BOX is a container |
|
|
|
|
| V | O +--+----+ +------+ | |
|
|
|
|
| E | X | | | | Flok | | o---o is a web request |
|
|
|
|
| R | | o----+---+-o | | |
|
|
|
|
| | T | Nginx | | | | |
|
|
|
|
| | W +-------+ +------+ | |
|
|
|
|
| | O | |
|
|
|
|
| +--------------------------+ |
|
|
|
|
+-----------------------------------------------------------+
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
Despite the advantages of using containers, the decision was made to
|
|
|
|
stop using them. Some might say to use Docker instead, but I don't
|
|
|
|
think it makes a difference. There's no need to containerise all the
|
|
|
|
services on a machine. Excessive complexity and surprising
|
2025-02-17 15:14:01 +01:00
|
|
|
dependencies beytween containers are a downside of this
|
|
|
|
technology. Thus, I preferred to keep it simple because the overall
|
|
|
|
situation was becoming a messy labyrinth of proxy devices, system
|
|
|
|
containers and storage units. I understood what was going on but
|
|
|
|
no-one else did. I wanted to change this, but couldn't find quite the
|
|
|
|
right moment to do so. And didn't. So I simply pulled the plug on the
|
|
|
|
Supermicro server. To be honest, I was having a bit of a strange week
|
|
|
|
when I made this decision. However, it was the right decision to make,
|
|
|
|
along with changing the DNS provider. March 8th was a deadline which I
|
|
|
|
set for myself to change the DNS provider. This was insofar that, for
|
|
|
|
the past couple of years, March 8th has been a day of International
|
2025-02-17 14:50:50 +01:00
|
|
|
Trans*Feminist anti-colonial Counter-cloud action. Thus, in an effort
|
2025-02-17 15:14:01 +01:00
|
|
|
to move away from the cloud, there's a new DNS provider and a
|
|
|
|
continued emphasis on self hosting.
|
|
|
|
|
|
|
|
To that end, the Klankschool system administrators are gradually
|
|
|
|
getting services online again. For example, the
|
|
|
|
[Gitea](https://code.klank.school) is back online again. This time on
|
|
|
|
a computer running Debian, an HP Compaq with, at present, 6GB of
|
|
|
|
RAM. It's also an upgrade in terms of energy consumption because the
|
|
|
|
machine utilises 30 Watts per hour, which is three times more
|
|
|
|
efficient than the Supermicro machine. Moreover, the hard drive is
|
|
|
|
encrypted and uses Logical Volume Management rather than `fdisk`. This
|
|
|
|
method is more sustainable in the long run and is a gain in terms of
|
|
|
|
data security.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
## FAQs
|
|
|
|
|
|
|
|
### Can I host my website on [klank.school](https://klank.school)?
|
|
|
|
|
|
|
|
Certainly, please send an email to
|
|
|
|
[computer@klank.school](mailto:computer@klank.school) to discuss your
|
|
|
|
needs.
|
|
|
|
|
|
|
|
### Can I get an account on [code.klank.school](https://code.klank.school)?
|
|
|
|
|
|
|
|
Also yes, send an email to
|
|
|
|
[computer@klank.school](mailto:computer@klank.school) if you're
|
|
|
|
looking for somewhere to publish your code.
|
|
|
|
|
|
|
|
### Does Klankschool have a collaborative live coding environment?
|
|
|
|
|
|
|
|
Much data was dropped in the process of switching from the Supermicro
|
|
|
|
machine to the HP Compaq. There was a [flok](https://flok.cc) at
|
|
|
|
[live.klank.school](https://live.klank.school). It's offline at the
|
|
|
|
moment and will make a re-appearance soon.
|
|
|
|
|
|
|
|
### Is Klankschool still becoming a datacenter?
|
|
|
|
|
|
|
|
No
|
|
|
|
|
|
|
|
### Does Klankschool have a privacy policy?
|
|
|
|
|
|
|
|
It's in the works - watch this space.
|