2023-04-26 23:25:04 +02:00
|
|
|
{ pkgs, ... }:
|
|
|
|
{
|
|
|
|
containers."phtanumb-wiki" = {
|
|
|
|
autoStart = true;
|
2023-04-30 14:56:30 +02:00
|
|
|
hostAddress = "127.0.0.1";
|
2023-04-26 23:25:04 +02:00
|
|
|
bindMounts = {
|
|
|
|
"/var/mediawiki" = {
|
|
|
|
hostPath = "/phtanum-b/wiki";
|
|
|
|
isReadOnly = false;
|
|
|
|
};
|
|
|
|
};
|
2023-04-30 14:56:30 +02:00
|
|
|
forwardPorts = [
|
|
|
|
{
|
|
|
|
protocol = "tcp";
|
|
|
|
hostPort = 5432;
|
|
|
|
containerPort = 5432;
|
|
|
|
}
|
|
|
|
{
|
|
|
|
protocol = "tcp";
|
|
|
|
hostPort = 8081;
|
|
|
|
containerPort = 8081;
|
|
|
|
}
|
|
|
|
];
|
2023-04-26 23:25:04 +02:00
|
|
|
config = { config, pkgs, ... }: {
|
|
|
|
services.mediawiki = {
|
|
|
|
enable = true;
|
|
|
|
name = "phtanum-b";
|
|
|
|
virtualHost.listen = [
|
|
|
|
{
|
2023-04-30 14:56:30 +02:00
|
|
|
ip = "127.0.0.2";
|
|
|
|
port = 8081;
|
2023-04-26 23:25:04 +02:00
|
|
|
ssl = false;
|
|
|
|
}
|
|
|
|
];
|
|
|
|
virtualHost.hostName = "wiki.phtanum-b.katzen.cafe";
|
|
|
|
virtualHost.adminAddr = "admin@katzen.cafe";
|
|
|
|
passwordFile = "/var/mediawiki/passwordFile";
|
|
|
|
extraConfig = ''
|
|
|
|
# Disable anonymous editing
|
|
|
|
$wgGroupPermissions['*']['edit'] = false;
|
2023-04-30 14:56:30 +02:00
|
|
|
$wgDebugLogFile = "/var/log/mediawiki/debug-{$wgDBname}.log";
|
|
|
|
$wgPluggableAuth_Config["katzen.cafe authentication"] = [
|
|
|
|
'plugin' => 'OpenIDConnect',
|
|
|
|
'data' => [
|
|
|
|
'providerURL' => 'https://auth.katzen.cafe/realms/master/',
|
|
|
|
'clientID' => 'phtanumb-wiki',
|
|
|
|
'clientsecret' => '/var/mediawiki/keycloakClientSecret',
|
|
|
|
]
|
|
|
|
];
|
2023-04-26 23:25:04 +02:00
|
|
|
'';
|
2023-04-30 14:56:30 +02:00
|
|
|
extensions = {
|
|
|
|
PluggableAuth = pkgs.fetchzip {
|
|
|
|
url = "https://extdist.wmflabs.org/dist/extensions/PluggableAuth-REL1_38-5331512.tar.gz";
|
|
|
|
sha256 = "sha256-OWfr3oq2XzyJ5tynP5bRRPm34ymqz2oIBe2vBPHK+/Q=";
|
|
|
|
};
|
|
|
|
OpenIDConnect = pkgs.fetchzip {
|
|
|
|
url = "https://extdist.wmflabs.org/dist/extensions/OpenIDConnect-REL1_38-8f8bab6.tar.gz";
|
|
|
|
sha256 = "sha256-g+PGNzt0o2FebI3xyVamz5RA95E86MD2yqD4v8N6zKU=";
|
|
|
|
};
|
|
|
|
};
|
2023-04-26 23:25:04 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
system.stateVersion = "22.11";
|
|
|
|
};
|
|
|
|
};
|
2023-04-30 14:56:30 +02:00
|
|
|
deployment.keys = {
|
|
|
|
"passwordFile" = {
|
|
|
|
keyCommand = [ "cat" "/home/jade/keys/phtanumb-wiki/passwordFile" ];
|
|
|
|
destDir = "/phtanum-b/wiki";
|
|
|
|
};
|
|
|
|
"keycloakClientSecret" = {
|
|
|
|
keyCommand = [ "cat" "/home/jade/keys-tmp/phtanumb-wiki-keycloak-secret" ];
|
|
|
|
destDir = "/phtanum-b/wiki";
|
|
|
|
};
|
2023-04-26 23:25:04 +02:00
|
|
|
};
|
|
|
|
}
|