{ config, lib, pkgs, ... }: let unstable = import (import ../../../nix/sources.nix).nixpkgs-unstable {}; in { containers.lantifa = { autoStart = true; privateNetwork = true; hostAddress6 = "fd00::42:14"; localAddress6 = "fd00::42:15"; config = {config, pkgs, ... }: { networking.hosts."::1" = [ "wiki.lantifa.org" ]; networking.firewall.allowedTCPPorts = [ 80 ]; users.users.mediawiki.extraGroups = [ "keys" ]; services.mediawiki = { enable = true; name = "LANtifa"; package = unstable.mediawiki; database.createLocally = true; passwordFile = "/var/lib/mediawiki/mediawiki-password"; extraConfig = let wikidb = pkgs.fetchzip { url = "http://www.kennel17.co.uk/uploads/testwiki/e/e9/WikiDB.zip"; sha256 = "0d4f2ygglz4w515a7lgw59500q3xmr92xxhsmh8p204yaa769x8v"; }; in '' require_once('${wikidb}/WikiDB.php'); $wgExtraNamespaces = array( 100 => "Table", 101 => "Table_Talk",); $wgWikiDBNamespaces = 100; $wgGroupPermissions['user']['writeapi'] = true; $wgDefaultUserOptions['visualeditor-enable'] = 1; ''; extensions = { TemplateData = null; VisualEditor = null; InputBox = null; }; virtualHost = { hostName = "wiki.lantifa.org"; listen = [ { port = 80; } ]; adminAddr = "admin@hacc.space"; }; }; }; }; services.nginx.virtualHosts."wiki.lantifa.org" = { locations."/".proxyPass = "http://[" + config.containers.lantifa.localAddress6 + "]"; forceSSL = true; enableACME = true; }; }