diff options
author | Sandro <sandro.jaeckel@gmail.com> | 2024-06-26 00:53:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-26 00:53:58 +0200 |
commit | 08605eec2a46e9d956e50f28d513f7d02ff03fe8 (patch) | |
tree | a054dc60e87f7c39067001594408e88c0ff32cf6 /nixos/modules/services/web-servers | |
parent | a5d8db4258eb269fd110872b13d0cdcdff7637ab (diff) | |
parent | a8da5dbf32870048279626d47bc9587462e7d955 (diff) |
Merge pull request #311381 from minijackson/tomcat-port
nixos/tomcat: add 'port' option
Diffstat (limited to 'nixos/modules/services/web-servers')
-rw-r--r-- | nixos/modules/services/web-servers/tomcat.nix | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/nixos/modules/services/web-servers/tomcat.nix b/nixos/modules/services/web-servers/tomcat.nix index e243778cc747c..1c5a9af5c9245 100644 --- a/nixos/modules/services/web-servers/tomcat.nix +++ b/nixos/modules/services/web-servers/tomcat.nix @@ -21,6 +21,14 @@ in example = "tomcat10"; }; + port = lib.mkOption { + type = lib.types.port; + default = 8080; + description = '' + The TCP port Tomcat should listen on. + ''; + }; + purifyOnStart = lib.mkOption { type = lib.types.bool; default = false; @@ -244,8 +252,12 @@ in hostElementsString = lib.concatMapStringsSep "\n" hostElementForVirtualHost cfg.virtualHosts; hostElementsSedString = lib.replaceStrings ["\n"] ["\\\n"] hostElementsString; in '' - # Create a modified server.xml which also includes all virtual hosts - sed -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${lib.escapeShellArg hostElementsSedString} \ + # Create a modified server.xml which listens on the given port, + # and also includes all virtual hosts. + # The host modification must be last here, + # else if hostElementsSedString is empty sed gets confused as to what to append + sed -e 's/<Connector port="8080"/<Connector port="${toString cfg.port}"/' \ + -e "/<Engine name=\"Catalina\" defaultHost=\"localhost\">/a\\"${lib.escapeShellArg hostElementsSedString} \ ${tomcat}/conf/server.xml > ${cfg.baseDir}/conf/server.xml '' } |