From ee810bfc16750bce65d05680da1a1bbe9dc18ac5 Mon Sep 17 00:00:00 2001
From: lilly
Date: Fri, 18 Sep 2026 17:45:46 +0200
Subject: [PATCH 1/2] update matrix moderation docs to reflect that we now have
two ban lists
---
docs/concepts-and-configurations/matrix-moderation.md | 7 ++++---
docs/guides/matrix-taking-moderation-action.md | 6 ++++--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/docs/concepts-and-configurations/matrix-moderation.md b/docs/concepts-and-configurations/matrix-moderation.md
index fc307645..b1c16edd 100644
--- a/docs/concepts-and-configurations/matrix-moderation.md
+++ b/docs/concepts-and-configurations/matrix-moderation.md
@@ -27,9 +27,10 @@ The bot account `@moderation:hamburg.ccc.de` (Draupnir) maintains various intern
These can include, for example, user bans or entire server bans.
Additionally, certain automatic monitoring measures (so-called "protections") apply in these rooms, which trigger a configured action if violated.
For example, a user is not allowed to tag too many other users in a single message, as this is considered spam and results in a kick.
-The bot is controlled and configured via a privileged *CCCHH Moderation Management* room using `!mjolnir` commands.
+The bot is controlled and configured via a privileged *CCCHH Moderation Management* room using `!draupnir` commands.
There, individual actions can also be triggered through the bot as needed, such as redacting messages, kicking users from all or some channels, etc.
-It is also possible to make our moderation bot's local lists available to other entities and subscribe our bot to other entities' lists.
-Our list is published in `#general-moderation:hamburg.ccc.de` where other moderation bots can freely watch it.
+Currently we operate **two policy lists**: One for internal bans like "Hausverbot" or similar and one for general misconduct like harassment and spam.
+It is possible to make our general list available to other entities as well as subscribe our bot to other entities' lists.
+Our general list is published in `#general-moderation:hamburg.ccc.de` where other moderation bots can freely watch it.
diff --git a/docs/guides/matrix-taking-moderation-action.md b/docs/guides/matrix-taking-moderation-action.md
index a516989c..2f1e467c 100644
--- a/docs/guides/matrix-taking-moderation-action.md
+++ b/docs/guides/matrix-taking-moderation-action.md
@@ -18,18 +18,20 @@ All bot actions are triggered through the *CCCHH Moderation Management* room.
## Banning a User
```
-!draupnir ban user general
+!draupnir ban user
```
+- `` either `general` for general misconduct or `internal` for CCCHH-internal reasons
- `` can be a user ID (e.g. `@example:matrix.org`) but also more sophisticated. Be careful when using actual glob syntax as whole servers can be banned even if just a single user is the intended target.
- `` is technically optional but should always be supplied so that we know why a certain user was banned in retrospect. The bot supports parsing quotations so `""` is usually what you want if more than one word is used.
## Banning a Server
```
-!draupnir ban server general
+!draupnir ban server
```
+- `` either `general` for general misconduct or `internal` for CCCHH-internal reasons
- `` can be used to ban subdomains of a domain too, e.g. `*.example.com`. If used, an additional `--force` is required after the whole command.
- `` should be supplied and supports quotation (`"") if more than one word is used
- When a domain is banned, we usually also ban all subdomains too. This needs to be done in two separate commands.
From 40e42dd9d05b4aad0dfe13adb089ff867256c7ac Mon Sep 17 00:00:00 2001
From: Renovate
Date: Sat, 19 Sep 2026 00:17:23 +0000
Subject: [PATCH 2/2] Update docker.io/library/postgres Docker tag to v18
---
inventories/chaosknoten/host_vars/cloud.yaml | 2 +-
resources/chaosknoten/lists/docker_compose/compose.yaml.j2 | 2 +-
resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/inventories/chaosknoten/host_vars/cloud.yaml b/inventories/chaosknoten/host_vars/cloud.yaml
index 8f299b2d..c4164a77 100644
--- a/inventories/chaosknoten/host_vars/cloud.yaml
+++ b/inventories/chaosknoten/host_vars/cloud.yaml
@@ -1,7 +1,7 @@
# renovate: datasource=docker depName=git.hamburg.ccc.de/ccchh/oci-images/nextcloud
nextcloud__version: 34
# renovate: datasource=docker depName=docker.io/library/postgres
-nextcloud__postgres_version: 15.18
+nextcloud__postgres_version: 18.6
nextcloud__fqdn: cloud.hamburg.ccc.de
nextcloud__data_dir: /data/nextcloud
nextcloud__extra_configuration: "{{ lookup('ansible.builtin.template', 'resources/chaosknoten/cloud/nextcloud/extra_configuration.config.php.j2') }}"
diff --git a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2 b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
index 7a109e8c..fc1cb194 100644
--- a/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
+++ b/resources/chaosknoten/lists/docker_compose/compose.yaml.j2
@@ -62,7 +62,7 @@ services:
- POSTGRES_DB=mailmandb
- POSTGRES_USER=mailman
- "POSTGRES_PASSWORD={{ secret__lists__postgres_password }}"
- image: docker.io/library/postgres:12-alpine
+ image: docker.io/library/postgres:18-alpine
volumes:
- /opt/mailman/database:/var/lib/postgresql/data
networks:
diff --git a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2 b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2
index 3c6e5daa..6cdec7a9 100644
--- a/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2
+++ b/resources/chaosknoten/pretalx/docker_compose/compose.yaml.j2
@@ -3,7 +3,7 @@
services:
database:
- image: docker.io/library/postgres:15-alpine
+ image: docker.io/library/postgres:18-alpine
environment:
- "POSTGRES_USER=pretalx"
- "POSTGRES_PASSWORD={{ secret__pretalx_db_password }}"