Files
nixconfig/modules/server/containers/defs/etherpad.nix
2026-05-08 23:10:52 +02:00

50 lines
1.4 KiB
Nix

{ config, containerCfg, pkgs, lib, builder, name,... }:
let
version = "latest";
serverCfg = config.syscfg.server;
in {
paths = [{
path="${serverCfg.configPath}/etherpad/data";
owner = "1000:1000";
mode = "0755";
}{
path="${serverCfg.configPath}/etherpad/APIKEY.txt";
owner = "1000:1000";
mode = "0755";
backup = true;
}];
containers = {
server = builder.mkContainer {
subdomain = containerCfg.subdomain;
image = "ghcr.io/ether/etherpad:develop:${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.configPath}/etherpad/data:/opt/etherpad-lite/var"
"${serverCfg.configPath}/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt"
];
};
};
};
}