stockholm/makefu/2configs/deployment/nixos.wiki/mediawiki.nix
2023-06-03 15:40:00 +02:00

68 lines
2.1 KiB
Nix

{ config, pkgs, ... }:
let
hostAddress = "192.168.48.1";
localAddress = "192.168.48.3";
in
{
containers.mediawiki =
{ autoStart = true;
privateNetwork = true;
inherit hostAddress localAddress;
config = { config, pkgs, ... }:
{
# NOTE: This disabling and importing is so that the basePath can be altered
disabledModules = [ "services/web-apps/mediawiki.nix" ];
imports = [
./mediawiki.module.nix
];
time.timeZone = "America/New_York";
system.stateVersion = "20.09";
networking.defaultGateway = hostAddress;
# NOTE: you might want to change this namserver address
networking.nameservers = [ "8.8.8.8" ];
networking.firewall.allowedTCPPorts = [ 80 ];
services.mediawiki = {
enable = true;
name = "Example Containerized Wiki";
# NOTE: here is where the basePath is specified, which requires the imported mediawiki NixOS module
basePath = "/wiki";
passwordFile = ./mediawiki.password.txt;
extraConfig = ''
$wgRCFeeds['euerkrebsco'] = array(
'formatter' => 'JSONRCFeedFormatter',
'uri' => 'udp://euer.krebsco.de:5005',
'add_interwiki_prefix' => false,
'omit_bots' => true,
);
$wgRCFeeds['euerkrebscoIRC'] = array(
'formatter' => 'IRCColourfulRCFeedFormatter',
'uri' => 'udp://euer.krebsco.de:5006',
'add_interwiki_prefix' => false,
'omit_bots' => true,
);
'';
virtualHost = {
hostName = "localhost";
adminAddr = "root@localhost";
forceSSL = false;
addSSL = false;
onlySSL = false;
enableACME = false;
};
};
};
};
# Put the MediaWiki web page behind an NGINX proxy
services.nginx = {
enable = true;
virtualHosts.localhost.locations."/wiki" = {
# NOTE: the slash at the end of the URI is important. It causes the location base path to be removed when passed onto the proxy
proxyPass = "http://${localAddress}:80/";
};
};
}