{ 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 = "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.dataPath}/etherpad/data:/opt/etherpad-lite/var" "${serverCfg.dataPath}/etherpad/APIKEY.txt:/opt/etherpad-lite/APIKEY.txt" ]; }; }; }; }