{ config, lib, pkgs, ... }: { containers.lantifa = { autoStart = true; privateNetwork = true; hostAddress6 = "fd00::42:14"; localAddress6 = "fd00::42:15"; config = {config, pkgs, ... }: { networking.firewall.allowedTCPPorts = [ 4422 ]; users.users.mediawiki.extraGroups = [ "keys" ]; services.mediawiki = { enable = true; name = "LANtifa"; database.createLocally = true; passwordFile = "/var/lib/mediawiki/mediawiki-password"; extraConfig = ''require_once('/var/lib/mediawiki/plugins/WikiDB/WikiDB.php'); $wgExtraNamespaces = array( 100 => "Table", 101 => "Table_Talk",); $wgWikiDBNamespaces = 100; ''; extensions = { TemplateData = pkgs.fetchzip { url = "https://extdist.wmflabs.org/dist/extensions/TemplateData-REL1_31-0bf2ec0.tar.gz"; sha256 = ''1kygi069jqlrkpwxwf2m5467k02wmbj38vzp796rl827ajrzxfip''; }; }; virtualHost = { hostName = "wiki.lantifa.org"; listen = [ { port = 4422; } ]; adminAddr = "admin@hacc.space"; }; }; }; }; services.nginx.virtualHosts."wiki.lantifa.org" = { locations."/".proxyPass = "http://[" + config.containers.lantifa.localAddress6 + "]:4422"; forceSSL = true; enableACME = true; }; }