diff --git a/README.md b/README.md
index ea7e915..26dfd9d 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,6 @@ room (see the admin list below) or create an issue here:
 * GitLab agent - on build01
 * hound - on build01
 * https://hydra.nix-community.org - on build01
-* marvin-mk2 - on build01
 * matterbridge - on build01
 * ryantm-updater bot - on build02
 
diff --git a/build03/secrets.yaml b/build03/secrets.yaml
index 08713be..0d10e60 100644
--- a/build03/secrets.yaml
+++ b/build03/secrets.yaml
@@ -5,9 +5,6 @@ github-nixpkgs-swh-key: ENC[AES256_GCM,data:HiZCCt1gQoq4EWZGttv0XDLXOf/lLy53+Cf2
 matterbridge: ENC[AES256_GCM,data:jrWqGXW3WJu7/WZwgDKLn+P4C/XM713y84cN+8lFxd8ndJPPeEatZCzVVbWMsau9536odWOJfjHPduG7Xq0A7uzK0JfTAE4rXukX5THPi9WtGOMZnI7FUVCAPsTl3sFrRkO4SQC1HAQy+NFtHPhHt7KtLcqZn1U9Gg5fIABhvg4Wm/qDXKkGG3OnNXh170RcFVwJYcPEsRreteaesb0hSs3XlSh0wlLVkXEQp89KBESTwMl+AZTh2lAPtgSVzLlStaZh57xlpVt2gOla+ZJ6kXXzHJPaAjfPcxw1Gba6SNxDqWq82fSp+oNTLlCt7vUFTVm/+OWMJp+XpKIO8ShSBXwJtjMGTTzEeVtxYmBQ0plBDwhaasfmzW81C12Fe/J5pf/Eht1KfWCuRhBpzXVoZqVxtQBMxSO53uFjp6p9utG5nC79Ig7lvkhMBr4iZDXmDo6Jq+4AYN517Y/yMj9KNS5AkLqMekNhr70Qb0/7wV++n1bXFZ0ypHx/3DLORrxE1C7qSsDcD3VSH4C2BBWPrBwi+jfocud/7C86gcBIDFCthX5FpixFuFenILAUKU52gK0WKFG027ratmrrIyOxWmXLAzUtdb0R2ADaiNOHqns3G/nQKYPzXc3GeGRGQE7hy6lyogGBLASkef9YT6paQHgKJECfhc5DDJWr+Kx4rYlB/LLILhmJOzY9vK2R5LAQDK6WrwpUepakCkRRku8nKeoiEC2okHEi4BL1eSChGXRF,iv:bV7AkCUSXBnd2RL17xufP/LwOQtGOXpvRcZqvCPJKo8=,tag:ZBmgQ/dt0X41ZYqPe1IA1w==,type:str]
 hydra-admin-password: ENC[AES256_GCM,data:t0vmchbXXIAzvM2nxm4j16N9W67yWRb439M=,iv:qr/OfyMvTzi6Znw446KtxE2erh3XWi2VTJvVL2Ot2UI=,tag:mS6HlE6nojkemjp4F59+wQ==,type:str]
 hydra-users: ENC[AES256_GCM,data:0NVgtjaiQ2ytn2Z3EqjsphMsXMVq1KRjaHA9R11aFC1qoSnLP1GWu/Y8bkrA/fAcfn90Nmx6kY8N37PclYWNYPVzHL5Nf/zZgD+gUXF/5yFgvX73v/qmE39tp9zqVjmW02GJTug9FkYWUt8tTaMSq71jfW2B3w6SHz20jUn41Ak+VWexJjjxxj/4iq5bdx6f/9lu5VtM90Lyx5D2+8lWWKiRnMtjIqXPdzRSPi8X4zvJm4aGId1kKPE0Ba6RMuBKwDW4qqRoJixc1ddZoDQe4ycO12gszj1bTGB7cHm7iDU5B5KnZScJUrjzmE8F1hG0oLaP5SyR9+Ehe5uMZojTQZlDC57/zV10dj16H7mNaRBWFilshmhlmVuKcLA=,iv:vQ+dRNr6EplY8/+ZIgxg7f6lqqoMzXGoItx73imzfSY=,tag:sF7cq+986sy5a3N9HkUqPw==,type:str]
-marvin-mk2-key: ENC[AES256_GCM,data:7gDG0Sq0vIf1DooKmPrWXyUJvpyk4r4Le9LCQstsCWGa2yb30qGAp6mkTLwACjhl8gmNOVpAFrkNqRdbqb7wtba256ebsolsEULk5Mnyezytt+Ye2oCuo3Iu6DLwEtIh8ERIJN+Bg1FlLM48bN+8RhviR60oBrV+54oGmqwWP1QaDquCK4YZ0w+3CY/yMM4y3KOFa7MvZJ+sprCrvSiuv2Go9QBsYkM9EvVAgRjyQrT2egCjdxJWrazyUobN3dhMAdUxwpUb7sthqOES4TwEX0YWybRTM2gAnpIYt20nRGOcnLZjmsCg+62aQJlIvYk74e7ViIcc4AJ3vvqMor9bovRX0IW0IGuuX/qPRastdlCEAgDHrwONQI1xFgd7V6zpUiFKF/AeqMN4lzBgvAHXJv2Tx+qp53jat0q9m856/dSRplVYvo/nxDYx31eiv1YdBoDOm0ASwvVmfL7ZLoqxH63/phzhMLmB7j7LIGRcwEhyDTLlIwmTbe2A0s1Zikv6FOLiGOrpv5pDp8NIyfy7ltOp6dAOnW+p7Z508wdOHdX8er0fD5Oirw1ZRnyO4rqqO/wqUDllxEyqUoLVyCl1Nu+fyYTfQDiMwliWMH9kHtADaWobihFE+Qh6rl/vhoJaMwWdSbVwHO03uFqcZ5HtfwG5sadDM/Bb+olucdONLtQVMmBEylzhtszvFbhZbwe+FNWikxM7FQTa3iHfT5y7T9t2gA6HdPRqEJ9AFgcf9//IwHjdSItuDxpJOY1SGV0pxpBNo04V07wk5YIHKy6++zHYkAfizUFiXtX9Iml3imBEmWSo15JjFf+GXgB4lfXK5X3OZG0dZryV2hxiRrI10nJG7X144fQF14Ej3kYxPyIs5JRpdQbjX2hiYfNNV5BrlKesfq8Q+IRDN+E179X6vbhiCJbnCXiAJ7/1ZDrGi4mTCmmerVhgGDH2cjffr6cSfh7zdwyAwbr4KQ8nN2rXJ/u9CNi5xgvzqt6u8JXJTnyI8Zw1KHX0RL9u98GaDfnLKGf7E4APjCP7MIUukh/hS9zd88GgpkVaqI2pwEIjqgUvSrp45ud8V5dZQi+Nwo3ckrUj1u2J2I7BkQYPhZiC41GRR2uDb7m1xZDT0TFfcf+8WNrAZ5ft3tlWktNZ9qPzdxdJwUPryA3wAc1kN77VGmlOAkNpCuqoOvHbrrBruLgisIVPPK343o2+FHy0xYTs/SALnL+vx1AgzfcIeiyWx5Nsmo7IPuyLjW+fUtaboXmDphM+R/xfSwzBgngdW7WCYiEYbH+8Tx3GJHOtrTdh/JVfeuKHpNGegdRXhYOsHcioMnBksy1FJHFcfd1RudbCnBasaQ3qUdCcdcYoeGrIzTsRC7XBC/cLxVZ90JjhnF4RXXkQzeKdeaWxjUR3S64xE5S6USFftqAh2eVY86Gc98SeJlQX1grhWP3PlALF7g6eXLJyDgDsoNZJzX2LFpEoJ+p+dPOt+j1+N4gg1UlmuEH4Xg6fyoTECG2JdNJV4reboK9lM91NfKxF3bAB3t5KtJylFuqc8uIkW935K33O4X/JOA8m2579ycy9POxRIYBkdH3yHdgHluJYgygkA0xhU4eZcsSRzYrimnceK/M3b/1MtFWR5IpmDDNgH95YVK8+ZEk8RGT8Bl1pD62k+Iivzb7fZIG6ig+tc7FsOnp8NmLDVOfb4m3ApAaF3ccqbbiQRfikHH7swMRcWAP2Qtvj9Opag5Fw1PUJA5SsmSmLRQELNaXjQ2tCnjRuAkY2I9Ui3qbmlw+faar4Hf4u+/7mi61gPmEoYSHtGNl3kdgiagz660fhxSwQEz5uA2VGo+cyDkoMukEkukv9VRRKXkVSeFNby2c9pYWl+mMTl56DZzTpTCv/eiAf9838XVECJY555q9/lHzp5RLI4+KfyXn9rLBUo7TCYRAGf3mEj4CQLV+YmVfo81YiqLu0n1f36PJDqBhTsRHS5geMBQVkrR1Arsp48Qcr3QF92hemB63Y4xN3nhK3v9RQsyK3k6LCZGJis+IBuXZfBbAcuW4jCG6stYhREPECHbfMGNgufRnf13Y2nFC5erhFTB8lT+OnR/pIN5BAx7jd9ZF1Qz9D/oAzgt7TPr9W2MDyhUkvkt6QQiuAI3xCzVD6GehpaxzlbBoEZ3/wxdyA6L5j7aNNAD12pkt6nspv3SouUqgRFunvtVa4dOuHQElWi0s+PAOWxAlzqsCcqRkYTaDapQ==,iv:ZwZCATHmV5LlD1KuOZxQR/QCWoDr4QgvZFYYl9H45gA=,tag:JJe+2rLOIuRT8X9EXfv1Sg==,type:str]
-marvin_mk2_id: ENC[AES256_GCM,data:mPzNtOo=,iv:AmZIt9rbK9vUaiqtsUiUPHen/3pi8ruVnInw2qKNyb0=,tag:ehsKF3lvIcYhN8NsSHi7ag==,type:str]
-marvin-mk2-webhook-secret: ENC[AES256_GCM,data:5uhSE/xIj2iGM3+v2d7XtGNI1AQAbeUvZDFj/5QM,iv:XAixOFSLFZSFnpWumqVHpQEeeMzIEl/8qrTiinayqDM=,tag:CSR6Htf+sK9RtbssRvJddg==,type:str]
 sops:
     kms: []
     gcp_kms: []
diff --git a/flake.lock b/flake.lock
index 926fd92..f6b85ee 100644
--- a/flake.lock
+++ b/flake.lock
@@ -72,22 +72,6 @@
         "type": "github"
       }
     },
-    "marvin-mk2": {
-      "flake": false,
-      "locked": {
-        "lastModified": 1613145327,
-        "narHash": "sha256-pP4QuZ/aTOBOJv04AVDXU00l1mgl2I832/InM/3z0js=",
-        "owner": "timokau",
-        "repo": "marvin-mk2",
-        "rev": "b3dd8c02a5c01dcf0e9cc8789846a0ec980f534b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "timokau",
-        "repo": "marvin-mk2",
-        "type": "github"
-      }
-    },
     "mmdoc": {
       "inputs": {
         "nixpkgs": [
@@ -310,7 +294,6 @@
       "inputs": {
         "hercules-ci-effects": "hercules-ci-effects",
         "hydra": "hydra",
-        "marvin-mk2": "marvin-mk2",
         "nixpkgs": "nixpkgs_3",
         "nixpkgs-update": "nixpkgs-update",
         "nixpkgs-update-github-releases": "nixpkgs-update-github-releases",
diff --git a/flake.nix b/flake.nix
index 7526816..bd4e0af 100644
--- a/flake.nix
+++ b/flake.nix
@@ -12,8 +12,6 @@
     nixpkgs-update-pypi-releases.flake = false;
     sops-nix.url = "github:Mic92/sops-nix";
     hercules-ci-effects.url = "github:hercules-ci/hercules-ci-effects";
-    marvin-mk2.url = "github:timokau/marvin-mk2";
-    marvin-mk2.flake = false;
     hydra.url = "github:NixOS/hydra";
     hydra.inputs.nixpkgs.follows = "nixpkgs";
   };
@@ -25,7 +23,6 @@
             , nixpkgs-update-pypi-releases
             , sops-nix
             , hercules-ci-effects
-            , marvin-mk2
             , hydra
             }: {
     devShell.x86_64-linux = let
@@ -60,9 +57,6 @@
       nix-community-build03 = nixpkgs.lib.nixosSystem {
         system = "x86_64-linux";
         modules = common ++ [
-          (import ./services/marvin-mk2.nix {
-            inherit marvin-mk2;
-          })
           (import ./services/hydra {
             inherit hydra;
           })
diff --git a/services/marvin-mk2.nix b/services/marvin-mk2.nix
deleted file mode 100644
index 5c6a855..0000000
--- a/services/marvin-mk2.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ marvin-mk2 }:
-{ pkgs, lib, config, ... }:
-let
-  userLib = import ../users/lib.nix { inherit lib; };
-
-  marvin-mk2' = pkgs.python3.pkgs.buildPythonApplication rec {
-    pname = "marvin-mk2";
-    version = "rolling";
-    src = marvin-mk2;
-
-    propagatedBuildInputs = with pkgs.python3.pkgs; [
-      aiohttp
-      gidgethub
-    ];
-  };
-in
-{
-  services.nginx.virtualHosts."marvin-2k.nix-community.org" = {
-    enableACME = true;
-    forceSSL = true;
-    locations = {
-      "/".proxyPass = "http://127.0.0.1:3001/";
-    };
-  };
-
-  # FIXME: use the above host instead
-  networking.firewall.allowedTCPPorts = [ 3001 ];
-
-  sops.secrets.marvin-mk2-key.owner = "marvin-mk2";
-
-  sops.secrets.marvin_mk2_id = {
-    path = "/var/lib/marvin-mk2/marvin_mk2_id.txt";
-    owner = "marvin-mk2";
-  };
-
-  sops.secrets.marvin-mk2-webhook-secret = {
-    path = "/var/lib/marvin-mk2/marvin-mk2-webhook-secret.txt";
-    owner = "marvin-mk2";
-  };
-
-  users.groups.marvin-mk2 = { };
-  users.users.marvin-mk2 = {
-    useDefaultShell = true;
-    isSystemUser = true;
-    uid = userLib.mkUid "mmkt";
-    group = "marvin-mk2";
-  };
-
-  systemd.services.marvin-mk2 = {
-    description = "marvin-mk2 service";
-    enable = true;
-    path = [
-      marvin-mk2'
-    ];
-    environment.BOT_NAME = "marvin-mk2";
-    environment.PORT = "3001";
-    environment.GH_PRIVATE_KEY_FILE = "/var/lib/marvin-mk2/marvin-mk2-key.pem";
-    environment.GH_APP_ID_FILE = "/var/lib/marvin-mk2/marvin_mk2_id.txt";
-    environment.WEBHOOK_SECRET_FILE = "/var/lib/marvin-mk2/marvin-mk2-webhook-secret.txt";
-
-    # Disable python stdout buffering to avoid log messages getting stuck in
-    # the buffer. Should probably use a proper logging framework instead.
-    environment.PYTHONUNBUFFERED = "1";
-
-    serviceConfig = {
-      User = "marvin-mk2";
-      Group = "marvin-mk2";
-      WorkingDirectory = "/var/lib/marvin-mk2";
-      StateDirectory = "marvin-mk2";
-      StateDirectoryMode = "700";
-      CacheDirectory = "marvin-mk2";
-      CacheDirectoryMode = "700";
-      LogsDirectory = "marvin-mk2";
-      LogsDirectoryMode = "755";
-      StandardOutput = "journal";
-    };
-
-    script = ''
-      marvin
-    '';
-
-    wantedBy = [ "multi-user.target" ];
-  };
-}
diff --git a/terraform/cloudflare_nix-community_org.tf b/terraform/cloudflare_nix-community_org.tf
index 4cf2d81..bb9a2c1 100644
--- a/terraform/cloudflare_nix-community_org.tf
+++ b/terraform/cloudflare_nix-community_org.tf
@@ -66,13 +66,6 @@ resource "cloudflare_record" "nix-community-org-docker-CNAME" {
   type    = "CNAME"
 }
 
-resource "cloudflare_record" "nix-community-org-marvin-2kCNAME" {
-  zone_id = local.nix_community_org_zone_id
-  name    = "marvin-2k"
-  value   = "build03.nix-community.org"
-  type    = "CNAME"
-}
-
 resource "cloudflare_record" "nix-community-org-hydra-CNAME" {
   zone_id = local.nix_community_org_zone_id
   name    = "hydra"