eh22-wiki: remove because of migration to ansible-infra
This commit is contained in:
		
					parent
					
						
							
								934f29a84a
							
						
					
				
			
			
				commit
				
					
						a665aa15f4
					
				
			
		
					 5 changed files with 0 additions and 214 deletions
				
			
		|  | @ -1,7 +0,0 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   networking.hostName = "eh22-wiki"; | ||||
| 
 | ||||
|   system.stateVersion = "23.11"; | ||||
| } | ||||
|  | @ -1,9 +0,0 @@ | |||
| { config, pkgs, ... }: | ||||
| 
 | ||||
| { | ||||
|   imports = [ | ||||
|     ./configuration.nix | ||||
|     ./dokuwiki.nix | ||||
|     ./networking.nix | ||||
|   ]; | ||||
| } | ||||
|  | @ -1,166 +0,0 @@ | |||
| # Sources for this configuration: | ||||
| # - https://www.dokuwiki.org/dokuwiki | ||||
| # - https://www.dokuwiki.org/install | ||||
| # - https://www.dokuwiki.org/requirements | ||||
| # - https://www.dokuwiki.org/install:php | ||||
| # - https://www.dokuwiki.org/security | ||||
| # - https://www.dokuwiki.org/config:xsendfile | ||||
| # - https://www.dokuwiki.org/install:nginx | ||||
| # - https://www.dokuwiki.org/faq:uploadsize | ||||
| # - https://nixos.wiki/wiki/Phpfpm | ||||
| # - https://wiki.archlinux.org/title/Nginx#FastCGI | ||||
| # - https://github.com/NixOS/nixpkgs/blob/84c0cb1471eee15e77ed97e7ae1e8cdae8835c61/nixos/modules/services/web-apps/dokuwiki.nix | ||||
| # - https://git.hamburg.ccc.de/CCCHH/ansible-infra/src/commit/81c8bfe16b311d5bf4635947fa02dfb65aea7f91/playbooks/files/chaosknoten/configs/wiki/nginx/wiki.hamburg.ccc.de.conf | ||||
| # - https://www.php.net/manual/en/install.fpm.php | ||||
| # - https://www.php.net/manual/en/install.fpm.configuration.php | ||||
| 
 | ||||
| { config, pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   # This is also used for user and group names. | ||||
|   app = "dokuwiki"; | ||||
|   domain = "eh22.easterhegg.eu"; | ||||
|   dataDir = "/srv/www/${domain}"; | ||||
| in | ||||
| { | ||||
|   systemd.tmpfiles.rules = [ | ||||
|     "d ${dataDir} 0755 ${app} ${app}" | ||||
|   ]; | ||||
| 
 | ||||
|   services.phpfpm.pools."${app}" = { | ||||
|     user = "${app}"; | ||||
|     group = "${app}"; | ||||
|     phpOptions = '' | ||||
|       short_open_tag = Off | ||||
|       open_basedir = | ||||
|       output_buffering = Off | ||||
|       output_handler = | ||||
|       zlib.output_compression = Off | ||||
|       implicit_flush = Off | ||||
|       allow_call_time_pass_reference = Off | ||||
|       max_execution_time = 30 | ||||
|       max_input_time = 60 | ||||
|       max_input_vars = 10000 | ||||
|       memory_limit = 128M | ||||
|       error_reporting = E_ALL & ~E_NOTICE | ||||
|       display_errors = Off | ||||
|       display_startup_errors = Off | ||||
|       log_errors = On | ||||
|       ; error_log should be handled by NixOS. | ||||
|       variables_order = "EGPCS" | ||||
|       register_argc_argv = Off | ||||
|       file_uploads = On | ||||
|       upload_max_filesize = 20M | ||||
|       post_max_size = 20M | ||||
|       session.use_cookies = 1 | ||||
|       ; Checked the default NixOS PHP extensions and the only one missing from | ||||
|       ; DokuWikis list of PHP extensions was bz2, so add that. | ||||
|       ; Checked with NixOS 23.11 on 2024-05-02. | ||||
|       extension = ${pkgs.phpExtensions.bz2}/lib/php/extensions/bz2.so | ||||
|     ''; | ||||
|     settings = { | ||||
|       "listen.owner" = "${config.services.nginx.user}"; | ||||
|       "listen.group" = "${config.services.nginx.group}"; | ||||
|       "pm" = "dynamic"; | ||||
|       "pm.max_children" = 32; | ||||
|       "pm.start_servers" = 2; | ||||
|       "pm.min_spare_servers" = 2; | ||||
|       "pm.max_spare_servers" = 4; | ||||
|       "pm.max_requests" = 500; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   services.nginx = { | ||||
|     enable = true; | ||||
| 
 | ||||
|     virtualHosts."acme-${domain}" = { | ||||
|       default = true; | ||||
|       enableACME = true; | ||||
|       serverName = "${domain}"; | ||||
| 
 | ||||
|       listen = [ | ||||
|         { | ||||
|           addr = "0.0.0.0"; | ||||
|           port = 31820; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
| 
 | ||||
|     virtualHosts."${domain}" = { | ||||
|       default = true; | ||||
|       forceSSL = true; | ||||
|       useACMEHost = "${domain}"; | ||||
| 
 | ||||
|       listen = [ | ||||
|         { | ||||
|           addr = "0.0.0.0"; | ||||
|           port = 8443; | ||||
|           ssl = true; | ||||
|           proxyProtocol = true; | ||||
|         } | ||||
|       ]; | ||||
| 
 | ||||
|       root = "${dataDir}"; | ||||
| 
 | ||||
|       locations = { | ||||
|         "~ /(conf|bin|inc|vendor)/" = { | ||||
|           extraConfig = "deny all;"; | ||||
|         }; | ||||
| 
 | ||||
|         "~ /install.php" = { | ||||
|           extraConfig = "deny all;"; | ||||
|         }; | ||||
| 
 | ||||
|         "~ ^/data/" = { | ||||
|           extraConfig = "internal;"; | ||||
|         }; | ||||
| 
 | ||||
|         "~ ^/lib.*\.(js|css|gif|png|ico|jpg|jpeg)$" = { | ||||
|           extraConfig = "expires 31d;"; | ||||
|         }; | ||||
| 
 | ||||
|         "/" = { | ||||
|           index = "doku.php"; | ||||
|           extraConfig = "try_files $uri $uri/ @dokuwiki;"; | ||||
|         }; | ||||
| 
 | ||||
|         "@dokuwiki" = { | ||||
|           extraConfig = '' | ||||
|             # Rewrites "doku.php/" out of the URLs if the userwrite setting is | ||||
|             # set to .htaccess in the DokuWiki config page. | ||||
|             rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last; | ||||
|             rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last; | ||||
|             rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last; | ||||
|             rewrite ^/(.*) /doku.php?id=$1&$args last; | ||||
|           ''; | ||||
|         }; | ||||
| 
 | ||||
|         "~ \\.php$" = { | ||||
|           extraConfig = '' | ||||
|             try_files $uri $uri/ /doku.php; | ||||
|             include ${config.services.nginx.package}/conf/fastcgi_params; | ||||
|             fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; | ||||
|             fastcgi_param REDIRECT_STATUS 200; | ||||
|             fastcgi_pass unix:${config.services.phpfpm.pools."${app}".socket}; | ||||
|           ''; | ||||
|         }; | ||||
|       }; | ||||
| 
 | ||||
|       extraConfig = '' | ||||
|         # Set maximum file upload size to 20MB (same as upload_max_filesize and | ||||
|         # post_max_size in the phpOptions). | ||||
|         client_max_body_size 20M; | ||||
|         client_body_buffer_size 128k; | ||||
|       ''; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|   networking.firewall.allowedTCPPorts = [ 8443 31820 ]; | ||||
|   networking.firewall.allowedUDPPorts = [ 8443 ]; | ||||
| 
 | ||||
|   users.users."${app}" = { | ||||
|     isSystemUser = true; | ||||
|     group = "${app}"; | ||||
|   }; | ||||
|   users.groups."${app}" = { }; | ||||
| } | ||||
|  | @ -1,22 +0,0 @@ | |||
| { ... }: | ||||
| 
 | ||||
| { | ||||
|   networking = { | ||||
|     interfaces.net0 = { | ||||
|       ipv4.addresses = [ | ||||
|         { | ||||
|           address = "172.31.17.159"; | ||||
|           prefixLength = 25; | ||||
|         } | ||||
|       ]; | ||||
|     }; | ||||
|     defaultGateway = "172.31.17.129"; | ||||
|     nameservers = [ "212.12.50.158" "192.76.134.90" ]; | ||||
|     search = [ "hamburg.ccc.de" ]; | ||||
|   }; | ||||
| 
 | ||||
|   systemd.network.links."10-net0" = { | ||||
|     matchConfig.MACAddress = "BC:24:11:37:F0:AB"; | ||||
|     linkConfig.Name = "net0"; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										10
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								flake.nix
									
										
									
									
									
								
							|  | @ -149,16 +149,6 @@ | |||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         eh22-wiki = nixpkgs.lib.nixosSystem { | ||||
|           inherit system specialArgs; | ||||
|           modules = [ | ||||
|             self.nixosModules.common | ||||
|             self.nixosModules.proxmox-vm | ||||
|             self.nixosModules.prometheus-exporter | ||||
|             ./config/hosts/eh22-wiki | ||||
|           ]; | ||||
|         }; | ||||
| 
 | ||||
|         nix-box-june = nixpkgs.lib.nixosSystem { | ||||
|           inherit system specialArgs; | ||||
|           modules = [ | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue