prefect: use custom caddy build
This commit is contained in:
parent
8bf3dc84d1
commit
1f3c9f8a18
2 changed files with 64 additions and 0 deletions
|
@ -6,6 +6,11 @@
|
|||
}: {
|
||||
services.caddy = {
|
||||
enable = true;
|
||||
package = pkgs.callPackage ../../../pkgs/caddy.nix {
|
||||
plugins = [
|
||||
"github.com/greenpau/caddy-security"
|
||||
];
|
||||
};
|
||||
email = "hedgehog@mrhedgehog.xyz";
|
||||
# globalConfig = ''
|
||||
# '';
|
||||
|
|
59
pkgs/caddy.nix
Normal file
59
pkgs/caddy.nix
Normal file
|
@ -0,0 +1,59 @@
|
|||
{ lib, fetchFromGitHub, buildGoModule, plugins ? [], vendorSha256 ? "" }:
|
||||
|
||||
with lib;
|
||||
|
||||
let imports = flip concatMapStrings plugins (pkg: "\t\t\t_ \"${pkg}\"\n");
|
||||
|
||||
main = ''
|
||||
package main
|
||||
|
||||
import (
|
||||
caddycmd "github.com/caddyserver/caddy/v2/cmd"
|
||||
|
||||
_ "github.com/caddyserver/caddy/v2/modules/standard"
|
||||
${imports}
|
||||
)
|
||||
|
||||
func main() {
|
||||
caddycmd.Main()
|
||||
}
|
||||
'';
|
||||
|
||||
|
||||
in buildGoModule rec {
|
||||
pname = "caddy";
|
||||
version = "2.4.6";
|
||||
runVend = true;
|
||||
subPackages = [ "cmd/caddy" ];
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "caddyserver";
|
||||
repo = "caddy";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-xNCxzoNpXkj8WF9+kYJfO18ux8/OhxygkGjA49+Q4vY=";
|
||||
};
|
||||
|
||||
inherit vendorSha256;
|
||||
|
||||
overrideModAttrs = (_: {
|
||||
preBuild = "echo '${main}' > cmd/caddy/main.go";
|
||||
postInstall = "cp go.sum go.mod $out/ && ls $out/";
|
||||
});
|
||||
|
||||
postPatch = ''
|
||||
echo '${main}' > cmd/caddy/main.go
|
||||
cat cmd/caddy/main.go
|
||||
'';
|
||||
|
||||
postConfigure = ''
|
||||
cp vendor/go.sum ./
|
||||
cp vendor/go.mod ./
|
||||
'';
|
||||
|
||||
meta = {
|
||||
homepage = https://caddyserver.com;
|
||||
description = "Fast, cross-platform HTTP/2 web server with automatic HTTPS";
|
||||
license = licenses.asl20;
|
||||
maintainers = with maintainers; [ Br1ght0ne ];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue