Add modules/server/containers/apps/ethercalc.nix
This commit is contained in:
56
modules/server/containers/apps/ethercalc.nix
Normal file
56
modules/server/containers/apps/ethercalc.nix
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
{ config, containerCfg, pkgs, lib, builder, name,... }:
|
||||||
|
let
|
||||||
|
serverCfg = config.syscfg.server;
|
||||||
|
ethercalc_exe = pkgs.ethercalc;
|
||||||
|
settings = pkgs.writeText"settings.json" (builtins.toJSON {
|
||||||
|
title= "\${TITLE:Ethercalc}";
|
||||||
|
});
|
||||||
|
image = pkgs.dockerTools.streamLayeredImage {
|
||||||
|
name = "ethercalc";
|
||||||
|
tag = ethercalc_exe.version;
|
||||||
|
config = {
|
||||||
|
Entrypoint = [ "${ethercalc_exe}/bin/ethercalc" ];
|
||||||
|
ExposedPorts = { "8080/tcp" = {}; };
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
paths = [];
|
||||||
|
|
||||||
|
containers = {
|
||||||
|
server = builder.mkContainer {
|
||||||
|
subdomain = containerCfg.subdomain;
|
||||||
|
imageStream = image;
|
||||||
|
port = 8080;
|
||||||
|
ip = containerCfg.ip;
|
||||||
|
secret = name;
|
||||||
|
extraEnv = {
|
||||||
|
TITLE = "Calc";
|
||||||
|
PORT = "8080";
|
||||||
|
DB_TYPE = "postgres";
|
||||||
|
DB_HOST = builder.host;
|
||||||
|
DB_NAME = "ethercalc_db";
|
||||||
|
DB_USER = "ethercalc_user";
|
||||||
|
DB_CHARSET = "utf8mb4";
|
||||||
|
TRUST_PROXY = "true";
|
||||||
|
DEFAULT_CALC_TEXT = "";
|
||||||
|
SKIN_VARIANTS = "super-dark-toolbar light-editor dark-background";
|
||||||
|
};
|
||||||
|
overrides = {
|
||||||
|
cmd = [ "--settings" "/etc/ethercalc/settings.json" "--apikey" "./APIKEY.txt" ];
|
||||||
|
volumes = [
|
||||||
|
"${settings}:/etc/ethercalc/settings.json"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
setup = {
|
||||||
|
trigger = "server";
|
||||||
|
script = pkgs.writeShellScript "setup" ''
|
||||||
|
# Define the command wrapper
|
||||||
|
EXEC="${pkgs.podman}/bin/podman --events-backend=none exec --env-file ${config.sops.secrets."CUSTOM".path} ethercalc-server sh -c"
|
||||||
|
$EXEC "echo \"$APIKEY\" > ./APIKEY.txt"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user