[matrix.havenisms.com] Sets up Continuwuity for a migration, but migration failed so disabled

This commit is contained in:
Periodic committed 2026-09-21 15:18:57 -07:00
1 parent 13bcb887e7
commit 6583cffeb8
4 files changed
+76 -16

No files matched your search

+4 -2
View File
@@ -23,6 +23,8 @@ matrix:
db-password: ENC[AES256_GCM,data:N/IO0k/2BZpmaDTbKZmSgZNzmdk=,iv:p0jGjJ9mTCh5FPM/Oe1vxusYvlyg14UeggE5ynpDVL8=,tag:tZbddwxJf6wSH6L1QRUQVg==,type:str]
secret: ENC[AES256_GCM,data:KZjYxjUxGgkY1I5jGF7XMEhkHK+khDaQzxugoKxpLsROmVs722tFfbUAxhp71llam55gy9+eUWGxIPlmvOySlw==,iv:OoThGcT08Z11kpnAMQ7w59wj5JheNFGEk1jfFENsmy0=,tag:8EeKT7dh2/a52Amf6LsL1w==,type:str]
blazestar-registration-token: ENC[AES256_GCM,data:TB3bR+E4H4c2l9pRcEOAZr35+vBVaJUcuCs9K0Pjd0aW+M35x5LgZ8+F99Y=,iv:e28sie6LSI5UX41BPb+yN+3n+Yw9Ssfsqe4zppwbPkU=,tag:cQPgZcRFbYSiZnmPVtZxHg==,type:str]
matrix-havenisms-com:
registration-token: ENC[AES256_GCM,data:AzTsGsz3pCzOarBH/tXy0yFd6GkGcAcN3OEIjtdMxkdb1qqLNcGYuI7BkDA=,iv:4wJNqcioZ1VBChna9QStGSGjUhwPogLeoqf17Zd2NLs=,tag:BXWm5Y37xi/cAttLNu7aOw==,type:str]
tandoor:
secret_key: ENC[AES256_GCM,data:nl7S2fS1wENrT5k2iZfLEAGc99lCUktgwR5L5KklF69BNVKQkW1rUgb3aIv50VpXZa+3OxV/vdPmG9NhKMy96I5+Dno=,iv:FFyGQBARz0B5zrONZELzUMsOIn8TWrDNTKGsAHPlS7w=,tag:/c4MnDfLXQpBZDqVxZ0DTg==,type:str]
immich:
@@ -65,7 +67,7 @@ sops:
dvKJPDYvGb/8JXSkZNkLlWvHEVnsAJ1mJFb1idenYzeQvJlsX07rYA==
-----END AGE ENCRYPTED FILE-----
recipient: age1jrk4h7x4qzhr6z5m4d099mlfyjc4n5n9s52r4gfsdz0slnqlqa9sss735v
lastmodified: "2026-09-06T18:47:12Z"
mac: ENC[AES256_GCM,data:Y/I0EDZsjYYEJisPiEa/gS8d+vc9ksmwH87fAPn1bDzJq+reIiwg+ESkGik8VYcQL8NO6YF3ZU8nyuqIT62ZnWDUU1RZaYwoSkCpEylWmH4xq4ShJTm2Fkqj9f0wtkrCw6uOW5wlio+BlWp6gkYuC9Zp2u29ms73Z0HLU5LPTIg=,iv:h6i4UqFqA3Q3agCP4YWltMe+59VU+tuxG13jw7NO+yI=,tag:BP+7JhgYFoeOuNeUUeLOLg==,type:str]
lastmodified: "2026-09-18T00:15:53Z"
mac: ENC[AES256_GCM,data:BkZiWsKlgUSSFgcA0th/KFHliqDY1LmHxCBi7HCZeizcRk9AMQ2SdFXeJwdvULo5UtCYvP8soLt0lyGw50uiL9XVlYLncllNu9EgwGEQkRJCHwyoyaio0GDWjCMOizPKw5c5tWqSGnSR3XLT7qzPVDcEztU9lzFJXUyxMpBZlhM=,iv:vlW1HqKinfu1//GjGCzpQXmDqyFKUtBKn+Whwh+/S4k=,tag:mAt+a9rrS2EezSwuEfWr8w==,type:str]
unencrypted_suffix: _unencrypted
version: 3.13.3
@@ -0,0 +1,56 @@
{ config, ... }:
let
inherit (import ../lib.nix config) havenisms;
matrixHost = "matrix";
serviceName = "matrix-havenisms-com";
dbPath = "/var/lib/matrix";
port = 8448;
in
{
sops.secrets = {
"matrix/${serviceName}/registration-token" = {
restartUnits = [ "${config.local.container-backend}-${serviceName}.service" ];
};
};
sops.templates."${serviceName}.env".content = ''
CONTINUWUITY_REGISTRATION_TOKEN=${
config.sops.placeholder."matrix/${serviceName}/registration-token"
}
CONTINUWUITY_ADDRESS=0.0.0.0
CONTINUWUITY_SERVER_NAME=havenisms.com
CONTINUWUITY_ALLOW_REGISTRATION=false
CONTINUWUITY_ALLOW_CHECK_FOR_UPDATES=true
CONTINUWUITY_ALLOW_FEDERATION=true
CONTINUWUITY_DATABASE_BACKEND=rocksdb
CONTINUWUITY_DATABASE_PATH=${dbPath}
CONTINUWUITY_WELL_KNOWN={ server=${matrixHost}.havenisms.com:443 }
CONTINUWUITY_TRUSTED_SERVERS=["matrix.org", "chat.havenisms.com", "matrix.blazestar.net"]
'';
# This isn't using any of my usual helpers because I wanted to set a custom
# serviceName in Traefik that is different from the hostname
virtualisation.web-containers.containers."${serviceName}" = {
image = "forgejo.ellis.link/continuwuation/continuwuity:latest";
port = port;
hostname = matrixHost;
domain = havenisms;
volumes = [
"/tank/matrix/home:${dbPath}"
];
environment = {
CONTINUWUITY_PORT = toString port;
};
environmentFiles = [
config.sops.templates."${serviceName}.env".path
];
extraLabels = {
# Redirect well-known requests to this host.
"traefik.http.routers.${serviceName}-well-known.rule" =
"Host(`${havenisms}`) && PathPrefix(`/.well-known/matrix`)";
"traefik.http.routers.${serviceName}-well-known.service" = serviceName;
# Increase the priority so that this will override other routers for the host.
"traefik.http.routers.${serviceName}-well-known.priority" = "1000";
};
};
}
@@ -66,19 +66,19 @@ in
};
# This server helps to serve the .well-known files that are required by clients to find the sync server.
matrix-well-known = {
image = "nginx";
dependsOn = [ "synapse" ];
volumes = [
"/tank/config/synapse/static-files:/usr/share/nginx/html:ro"
];
extraOptions = [
"-l=traefik.enable=true"
"-l=traefik.http.middlewares.strip-well-known.stripprefix.prefixes=/.well-known"
"-l=traefik.http.routers.matrix-well-known.rule=${wellKnownRule}"
"-l=traefik.http.routers.matrix-well-known.middlewares=strip-well-known"
"-l=traefik.http.services.matrix-well-known.loadbalancer.server.port=80"
];
};
# matrix-well-known = {
# image = "nginx";
# dependsOn = [ "synapse" ];
# volumes = [
# "/tank/config/synapse/static-files:/usr/share/nginx/html:ro"
# ];
# extraOptions = [
# "-l=traefik.enable=true"
# "-l=traefik.http.middlewares.strip-well-known.stripprefix.prefixes=/.well-known"
# "-l=traefik.http.routers.matrix-well-known.rule=${wellKnownRule}"
# "-l=traefik.http.routers.matrix-well-known.middlewares=strip-well-known"
# "-l=traefik.http.services.matrix-well-known.loadbalancer.server.port=80"
# ];
# };
};
}
@@ -2,6 +2,8 @@
{
imports = [
./chat.nix
# Migration paused
# ./chat-beta.nix
# Currently disabled because it doesn't start up properly
# ./immich.nix
./storyden.nix