jitsi: configuration du service #2
8 changed files with 113 additions and 3 deletions
|
@ -19,7 +19,7 @@ l'infrastructure d'Aurore et se décompose en plusieurs parties :
|
||||||
Dans Nix, l'ensemble des fichiers est écrit dans `/nix/store`, ce qui est
|
Dans Nix, l'ensemble des fichiers est écrit dans `/nix/store`, ce qui est
|
||||||
accessible et donc visible par tous les programmes (et tous les utilisateur⋅ices).
|
accessible et donc visible par tous les programmes (et tous les utilisateur⋅ices).
|
||||||
De plus, l'ensemble des fichiers de configurations se trouvent sur un repo git
|
De plus, l'ensemble des fichiers de configurations se trouvent sur un repo git
|
||||||
publique. Pour ces deux raisons, il est préférable de chiffrer les secrets à
|
public. Pour ces deux raisons, il est préférable de chiffrer les secrets à
|
||||||
l'aide de [agenix](https://github.com/ryantm/agenix). Plus de détails sont
|
l'aide de [agenix](https://github.com/ryantm/agenix). Plus de détails sont
|
||||||
disponibles dans [secrets](./secrets).
|
disponibles dans [secrets](./secrets).
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
|
imports = [
|
||||||
|
./jitsi.nix
|
||||||
|
|||||||
|
];
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "jitsi";
|
hostName = "jitsi";
|
||||||
domain = "pub.infra.auro.re";
|
domain = "pub.infra.auro.re";
|
||||||
|
|
40
hosts/vm/jitsi/jitsi.nix
Normal file
40
hosts/vm/jitsi/jitsi.nix
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services = {
|
||||||
|
jitsi-meet = {
|
||||||
v-lafeychine marked this conversation as resolved
v-lafeychine
commented
Il faudrait ajouter Il faudrait ajouter `services.jitsi-meet.nginx.enable = true` ainsi que `services.jitsi-meet.videobridge.enable`, même si `true` par défaut afin de l'expliciter.
|
|||||||
|
enable = true;
|
||||||
|
hostName = "jitsi-ng.auro.re";
|
||||||
|
|
||||||
|
nginx.enable = true;
|
||||||
|
videobridge.enable = true;
|
||||||
|
|
||||||
|
config = {
|
||||||
|
liveStreaming.enabled = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
jitsi-videobridge = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
colibriRestApi = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
# Monitoring
|
||||||
|
prometheus.exporters.jitsi = {
|
||||||
|
enable = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [ 80 443 ];
|
||||||
|
|
||||||
|
security.acme = {
|
||||||
|
acceptTerms = true;
|
||||||
|
defaults.email = "tech.aurore@lists.crans.org";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [
|
||||||
|
"jitsi-meet-1.0.8043"
|
||||||
|
];
|
||||||
|
}
|
|
@ -7,6 +7,7 @@
|
||||||
./nix.nix
|
./nix.nix
|
||||||
./ntp.nix
|
./ntp.nix
|
||||||
./programs.nix
|
./programs.nix
|
||||||
|
./prometheus-node-exporter.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./tmp.nix
|
./tmp.nix
|
||||||
];
|
];
|
||||||
|
|
54
profiles/common/prometheus-node-exporter.nix
Normal file
54
profiles/common/prometheus-node-exporter.nix
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
{ config, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
port = config.services.prometheus.exporters.node.port;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
networking.firewall.allowedTCPPorts = [ port ];
|
||||||
|
|
||||||
|
services.prometheus.exporters.node = {
|
||||||
|
enable = true;
|
||||||
|
enabledCollectors = [
|
||||||
|
"arp"
|
||||||
|
"bonding"
|
||||||
|
"buddyinfo"
|
||||||
|
"cgroups"
|
||||||
|
"conntrack"
|
||||||
|
"cpu"
|
||||||
|
"cpu_vulnerabilities"
|
||||||
|
"cpufreq"
|
||||||
|
"diskstats"
|
||||||
|
"dmi"
|
||||||
|
"edac"
|
||||||
|
"entropy"
|
||||||
|
"filesystem"
|
||||||
|
"hwmon"
|
||||||
|
"interrupts"
|
||||||
|
"loadavg"
|
||||||
|
"meminfo"
|
||||||
|
"netclass"
|
||||||
|
"netdev"
|
||||||
|
"netstat"
|
||||||
|
"nvme"
|
||||||
|
"os"
|
||||||
|
"powersupplyclass"
|
||||||
|
"pressure"
|
||||||
|
"qdisc"
|
||||||
|
"rapl"
|
||||||
|
"schedstat"
|
||||||
|
"sockstat"
|
||||||
|
"softnet"
|
||||||
|
"stat"
|
||||||
|
"systemd"
|
||||||
|
"thermal_zone"
|
||||||
|
"time"
|
||||||
|
"timex"
|
||||||
|
"udp_queues"
|
||||||
|
"uname"
|
||||||
|
"vmstat"
|
||||||
|
"watchdog"
|
||||||
|
"zfs"
|
||||||
|
"zoneinfo"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
|
@ -3,6 +3,7 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
|
./nginx.nix
|
||||||
./virtualisation.nix
|
./virtualisation.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
10
profiles/vm/nginx.nix
Normal file
10
profiles/vm/nginx.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
services.nginx = {
|
||||||
|
recommendedTlsSettings = true;
|
||||||
|
recommendedOptimisation = true;
|
||||||
|
recommendedGzipSettings = true;
|
||||||
|
recommendedProxySettings = true;
|
||||||
|
};
|
||||||
|
}
|
|
@ -5,8 +5,8 @@ NixOS et notamment de ne pas les copier les secrets dans `/nix/store`, qui est
|
||||||
visible par tout le monde (dit "_world readable_"), c'est-à-dire par tous les
|
visible par tout le monde (dit "_world readable_"), c'est-à-dire par tous les
|
||||||
processus et tous les utilisateur⋅ices.
|
processus et tous les utilisateur⋅ices.
|
||||||
|
|
||||||
Pour plus d'informations sur agenix, veuillez vous référer à la [documentation
|
Pour plus d'informations sur agenix, veuillez vous réferer à la [documentation
|
||||||
officielle](https://github.com/ryantm/agenix)
|
officielle](https://github.com/ryantm/agenix).
|
||||||
|
|
||||||
## Pré-requis
|
## Pré-requis
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue
Ajouter un
./nginx.nix
avec des paramètres par défaut souhaitable