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 ]; }; }