Nix-Config/hosts/servers/poseidon/old/oci-containers/synapse.nix

67 lines
No EOL
1.4 KiB
Nix

let
wg = "synapse-wireguard";
in {
${wg} = {
image = "lscr.io/linuxserver/wireguard:latest";
capabilities = {
NET_ADMIN = true;
SYS_MODULE = true;
};
ports = [
"5432:5432"
];
environment = {
PUID = "1000";
PGID = "1000";
TZ = "America/Chicago";
LOG_CONFS = "true";
};
extraOptions = [
"--sysctl" "net.ipv4.conf.all.src_valid_mark=1"
];
volumes = [
"/Velaris/Docker/synapse/wg-config:/config"
"/lib/modules:/lib/modules"
];
};
"synapse" = {
image = "ghcr.io/element-hq/synapse:latest";
environment = {
SYNAPSE_SERVER_NAME = "nyxerinys.dev";
SYNAPSE_REPORT_STATS = "no";
SYNAPSE_CONFIG_DIR = "/data";
SYNAPSE_CONFIG_PATH = "/data/homeserver.yaml";
UID = "1000";
GID = "1000";
TZ = "America/Chicago";
};
extraOptions = [
"--network" "container:${wg}"
];
volumes = [
"/Velaris/Docker/synapse/syn:/data"
"/Velaris/Synapse/media:/data/media_store"
];
dependsOn = [
wg
"synapse-db"
];
};
"synapse-db" = {
image = "postgres:16";
environment = {
POSTGRES_INITDB_ARGS = "'--encoding=UTF8', '--locale=C'";
};
extraOptions = [
"--network" "container:${wg}"
"--user" "1000:1000"
];
volumes = [
"/Velaris/Synapse/post:/var/lib/postgresql/data"
];
dependsOn = [
wg
];
};
}