50 lines
1.4 KiB
Nix
50 lines
1.4 KiB
Nix
{ config, containerCfg, pkgs, lib, builder, name,... }:
|
|
let
|
|
version = "latest";
|
|
serverCfg = config.syscfg.server;
|
|
in {
|
|
paths = [{
|
|
path="${serverCfg.dataPath}/etherpad/data";
|
|
owner = "1000:1000";
|
|
mode = "0755";
|
|
}{
|
|
path="${serverCfg.dataPath}/etherpad/APIKEY.txt";
|
|
owner = "1000:1000";
|
|
mode = "0755";
|
|
backup = true;
|
|
}];
|
|
|
|
containers = {
|
|
server = builder.mkContainer {
|
|
subdomain = containerCfg.subdomain;
|
|
image = "etherpad/etherpad:${version}";
|
|
port = containerCfg.port;
|
|
ip = containerCfg.ip;
|
|
secret = name;
|
|
extraEnv = {
|
|
NODE_ENV = "production";
|
|
TITLE = "Pad";
|
|
PORT = toString containerCfg.port;
|
|
DB_TYPE = "postgres";
|
|
DB_HOST = builder.host;
|
|
DB_NAME = "etherpad_db";
|
|
DB_USER = "etherpad_user";
|
|
DB_PASS = "ETHERPAD_DB_PASSWORD";
|
|
ADMIN_PASSWORD = "ETHERPAD_ADMIN_PASSWORD";
|
|
"TRUST_PROXY" = "true";
|
|
DB_CHARSET = "utf8mb4";
|
|
DEFAULT_PAD_TEXT = "";
|
|
PAD_OPTIONS_SHOW_LINE_NUMBERS = "true";
|
|
PAD_OPTIONS_USE_MONOSPACE_FONT = "true";
|
|
SKIN_VARIANTS = "super-dark-toolbar light-editor dark-background";
|
|
};
|
|
overrides = {
|
|
volumes = [
|
|
"${serverCfg.dataPath}/etherpad/data:/opt/etherpad-lite/var"
|
|
"${serverCfg.dataPath}/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|