67 lines
No EOL
1.4 KiB
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
|
|
];
|
|
};
|
|
} |