Files
nocodb/nix/docker/all_in_one/default.nix
2025-02-25 11:55:52 +05:30

93 lines
1.3 KiB
Nix

{
lib,
dockerTools,
nocodb,
postgresql,
htop,
s6,
execline,
coreutils,
callPackage,
s6-rc,
s6-linux-init,
util-linux,
gnugrep,
vim,
minio,
glibc,
minica,
gnused,
nginx,
nginxModules,
lego,
snooze,
valkey,
}:
let
nginxCustom = nginx.override {
modules = lib.unique (nginx.modules ++ [ nginxModules.brotli ]);
};
init = callPackage ./init { };
s6-services = callPackage ./init/s6-services { };
pgconf = callPackage ./confs/postgres.nix { };
nginxconf = callPackage ./confs/nginx.nix { };
valkeyconf = callPackage ./confs/valkey.nix { };
in
dockerTools.buildLayeredImage {
name = "nocodb_aio";
contents = [
dockerTools.binSh
dockerTools.caCertificates
nocodb
postgresql
snooze
valkey
execline.bin
minio
nginxCustom
glibc.getent
coreutils
util-linux
gnugrep
gnused
minica
lego
htop
vim
pgconf
nginxconf
valkeyconf
s6-services
s6
s6-rc
s6-linux-init
];
config = {
WorkingDir = "/var/lib";
ExposedPorts = {
# proxy bypass
"8080/tcp" = { };
# ssl redirect & acme-challenge
"80/tcp" = { };
# ssl
"443/tcp" = { };
# minio
"9000/tcp" = { };
};
Entrypoint = [
(lib.getExe init)
];
};
}