This repository has no description
2.3 kB
87 lines
1{ pkgs, ... }:
2let
3
4 prosody-contrib-plugins = pkgs.fetchFromGitHub {
5 owner = "jitsi-contrib";
6 repo = "prosody-plugins";
7 rev = "v20230929";
8 sha256 = "sha256-1Lmj+ZWqZRRvHVgNDXXEqH2DwhE7TwP0gktjihJCg1g=";
9 };
10
11in
12{
13
14 nixpkgs.config.permittedInsecurePackages = [
15 "jitsi-meet-1.0.8043"
16 ];
17 services.jitsi-meet = {
18 enable = true;
19 hostName = "jitsi.lassul.us";
20 config = {
21 enableWelcomePage = true;
22 requireDisplayName = true;
23 analytics.disabled = true;
24 startAudioOnly = false; # check if webcams work nicer with that
25 channelLastN = 4;
26 stunServers = [
27 # - https://www.kuketz-blog.de/jitsi-meet-server-einstellungen-fuer-einen-datenschutzfreundlichen-betrieb/
28 { urls = "turn:turn.matrix.org:3478?transport=udp"; }
29 { urls = "turn:turn.matrix.org:3478?transport=tcp"; }
30 ];
31 constraints.video.height = {
32 ideal = 720;
33 max = 1080;
34 min = 240;
35 };
36 remoteVideoMenu.disabled = false;
37 breakoutRooms.hideAddRoomButton = false;
38 maxFullResolutionParticipants = 1;
39 };
40 interfaceConfig = {
41 SHOW_JITSI_WATERMARK = false;
42 SHOW_WATERMARK_FOR_GUESTS = false;
43 GENERATE_ROOMNAMES_ON_WELCOME_PAGE = false;
44 DISABLE_PRESENCE_STATUS = true;
45 };
46 };
47
48 services.nginx.virtualHosts."meet.lassul.us" = {
49 enableACME = true;
50 addSSL = true;
51 locations."/".return = "301 https://jitsi.lassul.us$request_uri";
52 };
53
54 services.jitsi-videobridge = {
55 config.videobridge = {
56 cc.assumed-bandwidth-limit = "1000 Mbps";
57 };
58 };
59
60 services.prosody.extraPluginPaths = [ "${prosody-contrib-plugins}/event_sync" ];
61 services.prosody.extraModules = [
62 "admin_shell"
63 "event_sync"
64 ];
65 services.prosody.extraConfig = ''
66 Component "event_sync.jitsi.lassul.us" "event_sync_component"
67 muc_component = "conference.jitsi.lassul.us"
68 breakout_component = "breakout.jitsi.lassul.us"
69
70 api_prefix = "http://jitsi-presence.numtide.com"
71 '';
72
73 krebs.iptables.tables.filter.INPUT.rules = [
74 {
75 predicate = "-p tcp --dport 4443";
76 target = "ACCEPT";
77 }
78 {
79 predicate = "-p udp --dport 10000";
80 target = "ACCEPT";
81 }
82 {
83 predicate = "-p tcp --dport 10000";
84 target = "ACCEPT";
85 }
86 ];
87}