56 lines
1.5 KiB
Nix
56 lines
1.5 KiB
Nix
{
|
|
inputs,
|
|
|
|
# Dependencies
|
|
dockerTools,
|
|
lib,
|
|
main,
|
|
stdenv,
|
|
tini,
|
|
}:
|
|
|
|
dockerTools.buildLayeredImage {
|
|
name = main.pname;
|
|
tag = "main";
|
|
created = "@${toString inputs.self.lastModified}";
|
|
contents = [
|
|
dockerTools.caCertificates
|
|
main
|
|
];
|
|
config = {
|
|
Entrypoint =
|
|
if
|
|
!stdenv.hostPlatform.isDarwin
|
|
# Use the `tini` init system so that signals (e.g. ctrl+c/SIGINT)
|
|
# are handled as expected
|
|
then
|
|
[
|
|
"${lib.getExe' tini "tini"}"
|
|
"--"
|
|
]
|
|
else
|
|
[ ];
|
|
Cmd = [
|
|
"${lib.getExe main}"
|
|
];
|
|
Env = [
|
|
"RUST_BACKTRACE=full"
|
|
];
|
|
Labels = {
|
|
"org.opencontainers.image.authors" =
|
|
"June Clementine Strawberry <june@girlboss.ceo> and Jason Volk
|
|
<jason@zemos.net>";
|
|
"org.opencontainers.image.created" = "@${toString inputs.self.lastModified}";
|
|
"org.opencontainers.image.description" = "a very cool Matrix chat homeserver written in Rust";
|
|
"org.opencontainers.image.documentation" = "https://conduwuit.puppyirl.gay/";
|
|
"org.opencontainers.image.licenses" = "Apache-2.0";
|
|
"org.opencontainers.image.revision" = inputs.self.rev or inputs.self.dirtyRev or "";
|
|
"org.opencontainers.image.source" = "https://github.com/girlbossceo/conduwuit";
|
|
"org.opencontainers.image.title" = main.pname;
|
|
"org.opencontainers.image.url" = "https://conduwuit.puppyirl.gay/";
|
|
"org.opencontainers.image.vendor" = "girlbossceo";
|
|
"org.opencontainers.image.version" = main.version;
|
|
};
|
|
};
|
|
}
|