at master 1.1 kB view raw
1{ lib, ... }: 2let 3 certs = import ./common/acme/server/snakeoil-certs.nix; 4 mobilizonDomain = certs.domain; 5 port = 41395; 6in 7 8{ 9 name = "mobilizon"; 10 meta.maintainers = with lib.maintainers; [ 11 minijackson 12 erictapen 13 ]; 14 15 nodes.server = 16 { ... }: 17 { 18 services.mobilizon = { 19 enable = true; 20 settings = { 21 ":mobilizon" = { 22 ":instance" = { 23 name = "Test Mobilizon"; 24 hostname = mobilizonDomain; 25 }; 26 "Mobilizon.Web.Endpoint".http.port = port; 27 }; 28 }; 29 }; 30 31 security.pki.certificateFiles = [ certs.ca.cert ]; 32 33 services.nginx.virtualHosts."${mobilizonDomain}" = { 34 enableACME = lib.mkForce false; 35 sslCertificate = certs.${mobilizonDomain}.cert; 36 sslCertificateKey = certs.${mobilizonDomain}.key; 37 }; 38 39 networking.hosts."::1" = [ mobilizonDomain ]; 40 }; 41 42 testScript = '' 43 server.wait_for_unit("mobilizon.service") 44 server.wait_for_open_port(${toString port}) 45 server.succeed("curl --fail https://${mobilizonDomain}/") 46 ''; 47}