78 lines
1.4 KiB
Nix

{ config, pkgs, ... }:
let
workDir = "/srv/containers/jitsi";
in
{
# --- directories ---
systemd.tmpfiles.rules = [
"d ${workDir}/web 2775 root admin -"
"d ${workDir}/prosody 2775 root admin -"
"d ${workDir}/jicofo 2775 root admin -"
"d ${workDir}/jvb 2775 root admin -"
];
# --- containers ---
virtualisation.oci-containers.containers = {
jitsi-web = {
image = "docker.io/jitsi/web:stable";
autoStart = true;
ports = [
"0.0.0.0:10006:80"
];
environmentFiles = [
config.age.secrets.jitsi-env.path
];
volumes = [
"${workDir}/web:/config"
];
};
jitsi-prosody = {
image = "docker.io/jitsi/prosody:stable";
autoStart = true;
environmentFiles = [
config.age.secrets.jitsi-env.path
];
volumes = [
"${workDir}/prosody:/config"
];
};
jitsi-jicofo = {
image = "docker.io/jitsi/jicofo:stable";
autoStart = true;
environmentFiles = [
config.age.secrets.jitsi-env.path
];
volumes = [
"${workDir}/jicofo:/config"
];
};
jitsi-jvb = {
image = "docker.io/jitsi/jvb:stable";
autoStart = true;
ports = [
"10000:10000/udp" # ONLY exposed media port
];
environmentFiles = [
config.age.secrets.jitsi-env.path
];
volumes = [
"${workDir}/jvb:/config"
];
};
};
}