Merge branch 'main' of https://code.klank.school/klank.school/Newsletter
This commit is contained in:
@ -2,5 +2,6 @@
|
|||||||
title: The newsletters
|
title: The newsletters
|
||||||
published: false
|
published: false
|
||||||
nested: 'newsletters'
|
nested: 'newsletters'
|
||||||
|
|
||||||
---
|
---
|
||||||
Klank.school newsletters
|
Klank.school newsletters
|
@ -1,22 +1,36 @@
|
|||||||
---
|
---
|
||||||
title: A title for my fun newsletter
|
title: Klankbord Digest February 2025
|
||||||
published: false
|
published: false
|
||||||
template: newsletter
|
template: newsletter
|
||||||
---
|
---
|
||||||
|
|
||||||
I'd like to begin this month's Klankbord Digest with a server update.
|
# Klankbord Digest February 2025
|
||||||
|
|
||||||
|
## Recent Events
|
||||||
|
|
||||||
|
{{ events passed }}
|
||||||
|
|
||||||
|
## Upcoming Events
|
||||||
|
|
||||||
|
{{ events upcoming }}
|
||||||
|
|
||||||
|
## Server Update
|
||||||
|
|
||||||
|
*By Riviera*
|
||||||
|
|
||||||
Let's backtrack a bit to understand how the current circumstances
|
Let's backtrack a bit to understand how the current circumstances
|
||||||
arose. The server began as a prototype on a Mac Pro Trash Bin computer
|
arose. The Klankschool server began as a prototype on a Mac Pro "Trash
|
||||||
which I borrowed from a university. It had 16 GB of RAM and for this
|
Bin" computer which I borrowed. It had 16 GB of RAM and for this
|
||||||
reason, it was possible to run loads of software on the machine. For
|
reason, it was possible to run loads of software on the machine. For
|
||||||
this purpose, I used Incus, which is a Linux Container Management
|
this purpose, I used Incus, which is a Linux Container Management
|
||||||
System. It's a fork of LXD, which is made by Canonical. Canonical
|
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
|
decided to make LXD proprietary a while ago, and so Incus was the
|
||||||
natural alternative. So, I set up a bunch of containers inside of this
|
natural alternative. I set up a bunch of system containers inside of
|
||||||
machine and these were capable of communicating with each other. There
|
this machine and these were capable of communicating with each
|
||||||
was an advantage to using Incus over using LXD. For example, it was
|
other. There was an advantage to using Incus over using LXD. For
|
||||||
possible to launch different operating systems on top of the host
|
example, it was possible to launch operating systems other than Ubuntu
|
||||||
operating system. And this was no longer easily doable with LXD.
|
on top of the host operating system. And this was no longer easily
|
||||||
|
doable with LXD.
|
||||||
|
|
||||||
I thought it would be a good idea to install Arch Linux on the Trash
|
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,
|
Bin as the host operating system. This was probably not a good idea,
|
||||||
@ -24,56 +38,60 @@ 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
|
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
|
the software is updated, sometimes things break. In any case, I wanted
|
||||||
to be able to launch different operating systems because various
|
to be able to launch different operating systems because various
|
||||||
pieces of software that I wanted to run on the machine were
|
pieces of software that I wanted to run on the machine were packaged
|
||||||
well-suited to those operating systems. For example, I wanted to run
|
for those operating systems and available in the repositories. For
|
||||||
an OpenProject instance for collaborative project management. In the
|
example, I wanted to run an OpenProject instance for collaborative
|
||||||
past I attempted to build this Ruby on the Rails application from
|
project management. In the past I attempted to build this Ruby on the
|
||||||
source inside a Ubuntu container. I found that that simply didn't work
|
Rails application from source inside a Ubuntu container. I found that
|
||||||
in the long-run. The background jobs processor wasn't working at
|
that simply didn't work in the long-run. The background jobs processor
|
||||||
all. Everything got clogged up, and it crashed. Slowly. And that was
|
wasn't working at all. Everything got clogged up, and it
|
||||||
the end of that, because the system was simply unusable. Thus, running
|
crashed. Slowly. And that was the end of that, because the system was
|
||||||
OpenProject in a Debian environment, without running Debian on the
|
simply unusable. Thus, running OpenProject in a Debian environment,
|
||||||
machine itself, was the main reason why I wanted to run
|
without running Debian on the machine itself, was the main reason why
|
||||||
Incus. However, the OpenProject instance will not make a
|
I wanted to run Incus. At present, the OpenProject is offline,
|
||||||
reappearance. Partly because it used 1.6 GB of memory. This was not an
|
however, and will not make a reappearance. Partly because it has been
|
||||||
issue on the Trashbin, but was an issue on the next server.
|
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.
|
||||||
|
|
||||||
Which brings me to a discussion of the next machine: a second-hand
|
Which brings me to a discussion of the next machine: a second-hand
|
||||||
Supermicro, which I picked up from v2_ around Christmas. This machine,
|
Supermicro, which I picked up from v2\_ in late December. This
|
||||||
it turns out, used 90 watts of electricity per hour, which is a lot.
|
machine, it turns out, used 90 watts of electricity per hour, which is
|
||||||
For whatever reason, the fan was running at full blast all the time.
|
a lot. For whatever reason, the fan was running at full blast all the
|
||||||
Everyone who saw it said it shouldn't be doing that. But it was doing
|
time. Everyone who saw it said it shouldn't be doing that. But it was
|
||||||
it and it wasn't clear why. In any case, the task, as I saw it, before
|
doing that and it wasn't clear why. In any case, the task as I saw it,
|
||||||
I understood how much electricity this thing was consuming, was to
|
before I understood how much electricity this thing was consuming, was
|
||||||
transfer the containers from the Trashbin to the Supermicro
|
to transfer the containers from the Trashbin to the Supermicro
|
||||||
machine. There were many containers and I wasn't going to use all of
|
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
|
them. Using a laptop and a VPN and an Ethernet cable, I was able to
|
||||||
transfer the required containers to the Supermicro
|
transfer the required containers to the Supermicro
|
||||||
server. Technically, when running different operating systems with
|
server. Technically, when running different operating systems with
|
||||||
Incus it's better to use KVMs, or Kernel Virtual Machines. As I wasn't
|
Incus it's better to use Kernel Virtual Machines. As I wasn't doing
|
||||||
doing that it was already suffering from mis-configuration issues.
|
that it was already suffering from mis-configuration issues.
|
||||||
|
|
||||||
Furthermore, I decided to install Arch Linux on the Supermicro machine
|
Furthermore, I decided to install Arch Linux on the Supermicro machine
|
||||||
as well. There was a bit of complexity involved in booting the server,
|
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
|
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
|
not previously encountered. It was quite the adventure but I set it up
|
||||||
hastily. When I installed the operating system, it was an `fdisk`
|
hastily. When I installed the operating system, I used `fdisk` to
|
||||||
situation. I set aside eight GB of SWAP space and a 120 GB root
|
partition the hard drives. I set aside 8GB of swap space and a 120GB
|
||||||
partition, which makes limited sense. No way was there going to be 120
|
root partition, which makes limited sense. No way was there going to
|
||||||
GB worth of software on the machine. More likely: it was going to run
|
be 120GB worth of software on the machine. More likely: it was going
|
||||||
out of RAM. At least things were up and running at this point. There
|
to run out of memory. At least things were up and running at this
|
||||||
was the OpenProject. There was a live coding system, Flok. There was
|
point. There was the OpenProject. There was a live coding system,
|
||||||
a SFTP server. There was a container for the websites (why not just
|
Flok. There was a SFTP server. There was a container for the
|
||||||
use `/var/www/`...?). There was a Gitea instance and a Gitea runner.
|
websites (why not just use `/var/www/`...?). There was a Gitea
|
||||||
There was a container for the PostgreSQL databases. And, finally, one
|
instance and a Gitea runner. There was a container for the PostgreSQL
|
||||||
for the calendar also. These were all online at one point and using
|
databases. And, finally, one for the calendar also. These were all
|
||||||
up a lot of memory. The Supermicro server only had four gigabytes of
|
online at one point and using up a lot of memory. The Supermicro
|
||||||
memory. Unsurprisingly, it could not handle all of this and
|
server only had 4GB of memory. Unsurprisingly, it could not handle all
|
||||||
crashed. Therefore migrating some of the data / processes elsewhere
|
of this and crashed. Therefore migrating some of the data / processes
|
||||||
was required. The primary reason for this was to reduce memory
|
elsewhere was required. The primary reason for this was to reduce
|
||||||
consumption. Accordingly the [calendar](https://calendar.klank.school)
|
memory consumption. Accordingly the
|
||||||
moved to a VPS in Graz, Austria. This is now online and should stay
|
[calendar](https://calendar.klank.school) moved to a VPS in Graz,
|
||||||
online as long as the VPS is going!
|
Austria. This is now online and should stay online as long as the VPS
|
||||||
|
is going!
|
||||||
|
|
||||||
In any case, the supermicro server joined the Varia hub. Very
|
In any case, the supermicro server joined the Varia hub. Very
|
||||||
exciting. Everything was routed through a VPN, and I had to
|
exciting. Everything was routed through a VPN, and I had to
|
||||||
@ -88,7 +106,7 @@ depicted in the following diagram.
|
|||||||
o
|
o
|
||||||
|
|
|
|
||||||
| code.klank.school
|
| code.klank.school
|
||||||
| o
|
| o
|
||||||
| |
|
| |
|
||||||
+-----------+---------+-------------------------------------+
|
+-----------+---------+-------------------------------------+
|
||||||
| | | |
|
| | | |
|
||||||
@ -120,17 +138,59 @@ 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
|
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
|
think it makes a difference. There's no need to containerise all the
|
||||||
services on a machine. Excessive complexity and surprising
|
services on a machine. Excessive complexity and surprising
|
||||||
dependencies are a downside of containers. Thus, I preferred to keep
|
dependencies beytween containers are a downside of this
|
||||||
it simple because the environments were becoming a messy labyrinth of
|
technology. Thus, I preferred to keep it simple because the overall
|
||||||
proxy devices, system containers and storage units. I understood what
|
situation was becoming a messy labyrinth of proxy devices, system
|
||||||
was going on but no-one else did. I wanted to change this, but
|
containers and storage units. I understood what was going on but
|
||||||
couldn't find quite the right moment to do so. And didn't. So I simply
|
no-one else did. I wanted to change this, but couldn't find quite the
|
||||||
pulled the plug on the Supermicro server.
|
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
|
||||||
To be honest, I was having a bit of a strange week when I made this
|
when I made this decision. However, it was the right decision to make,
|
||||||
decision. However, it was the right decision to make, along with
|
along with changing the DNS provider. March 8th was a deadline which I
|
||||||
changing the DNS provider. March 8th was a deadline which I set for
|
set for myself to change the DNS provider. This was insofar that, for
|
||||||
myself to change the DNS provider. This was insofar that, for the past
|
the past couple of years, March 8th has been a day of International
|
||||||
couple of years, March 8th has been a day of International
|
|
||||||
Trans*Feminist anti-colonial Counter-cloud action. Thus, in an effort
|
Trans*Feminist anti-colonial Counter-cloud action. Thus, in an effort
|
||||||
to defund the cloud, there's a new DNS provider.
|
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.
|
||||||
|
Reference in New Issue
Block a user