68 lines
2.1 KiB
Nix
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/";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
}
|