Files
wordle-solver-rs/nix/wordle-solver-web-docker.nix
T
2026-09-08 17:34:07 +02:00

70 lines
1.4 KiB
Nix

let
drv = {
buildEnv,
dockerTools,
fakeNss,
nginx,
runCommand,
wordle-solver-web,
writeShellScriptBin,
...
}:
dockerTools.buildImage {
name = "wordle-solver-web";
created = "now";
copyToRoot = buildEnv {
name = "image-root";
paths = [
nginx
(fakeNss.override {
extraGroupLines = [
"nogroup:x:65534:"
];
})
(writeShellScriptBin "start" ''
echo "Start serving worlde-solver at port 80..."
/bin/nginx -c /etc/nginx.conf
'')
(runCommand "nginx-conf" {} ''
mkdir -p $out/etc
cat <<EOF > $out/etc/nginx.conf
events {}
error_log /dev/stderr;
http {
include ${nginx}/conf/mime.types;
server {
listen 80;
root ${wordle-solver-web};
access_log /dev/stdout;
}
}
daemon off;
EOF
'')
];
pathsToLink = ["/bin" "/etc"];
};
runAsRoot = ''
mkdir -p /var/log/nginx
'';
config = {
Cmd = ["/bin/start"];
};
};
in {
perSystem = {
pkgs,
self',
...
}: {
packages.wordle-solver-web-docker = pkgs.callPackage drv {
inherit (self'.packages) wordle-solver-web;
};
};
}