Commit graph

5 commits

Author SHA1 Message Date
Franz Pletz
de24b00d41 nixos/simp_le: Rename to security.acme 2015-12-12 16:06:52 +01:00
Franz Pletz
e7362a877d nixos/simp_le: Use systemd for setting user and group
This is much cleaner and we don't depend on sudo.
2015-12-12 16:06:52 +01:00
Nikolay Amiantov
1641c19d0b nixos/simp_le: use /var/lib/simp_le as root dir by default
/etc on NixOS is regenerated on boot and there was movement
towards making it read-only -- so let's keep dynamic state elsewhere.
2015-12-12 16:06:52 +01:00
Nikolay Amiantov
6906baae5c nixos/simp_le: improve configuration options 2015-12-12 16:06:52 +01:00
Franz Pletz
612781e816 simp_le service: letsencrypt cert auto-renewal
This new service invokes `simp_le` for a defined set of certs on a regular
basis with a systemd timer. `simp_le` is smart enough to handle account
registration, domain validation and renewal on its own. The only thing
required is an existing HTTP server that serves the path
`/.well-known/acme-challenge` from the webroot cert parameter.

Example:

  services.simp_le.certs."foo.example.com" = {
    webroot = "/var/www/challenges";
    extraDomains = [ "www.example.com" ];
    email = "foo@example.com";
    validMin = 2592000;
    renewInterval = "weekly";
  };

Example Nginx vhost:

  services.nginx.appendConfig = ''
    http {
      server {
        server_name _;
        listen 80;
        listen [::]:80;

        location /.well-known/acme-challenge {
          root /var/www/challenges;
        }

        location / {
          return 301 https://$host$request_uri;
        }
      }
    }
  '';
2015-12-12 16:06:51 +01:00