initContainers: - name: prepare-config image: busybox workingDir: /config command: - sh - -c - mkdir -p jicofo prosody web jvb volumeMounts: - name: config mountPath: /config containers: - name: jicofo image: "jitsi/jicofo:{{ jitsi_meet_version }}" resources: requests: memory: "256Mi" limits: memory: "1Gi" volumeMounts: - name: config subPath: jicofo mountPath: /config env: {% if jitsi_meet_auth is defined %} - name: ENABLE_AUTH value: "1" - name: AUTH_TYPE value: "internal" {% endif %} - name: XMPP_SERVER value: 127.0.0.1 - name: XMPP_DOMAIN value: meet.jitsi - name: XMPP_AUTH_DOMAIN value: auth.meet.jitsi - name: XMPP_MUC_DOMAIN value: muc.meet.jitsi - name: XMPP_INTERNAL_MUC_DOMAIN value: internal-muc.meet.jitsi {% if 'jicofo_component_secret' in jitsi_meet_secrets %} - name: JICOFO_COMPONENT_SECRET value: "{{ jitsi_meet_secrets.jicofo_component_secret }}" {% endif %} - name: JICOFO_AUTH_USER value: focus - name: JICOFO_AUTH_PASSWORD value: "{{ jitsi_meet_secrets.jicofo_auth_password }}" - name: JVB_BREWERY_MUC value: jvbbrewery - name: TZ value: {{ jitsi_meet_timezone }} {% for codec in jitsi_meet_video_codecs %} - name: ENABLE_CODEC_{{ codec }} value: "1" {% endfor %} {% for codec in jitsi_meet_audio_codecs %} - name: ENABLE_CODEC_{{ codec }} value: "1" {% endfor %} - name: prosody image: "jitsi/prosody:{{ jitsi_meet_version }}" resources: requests: memory: "128Mi" limits: memory: "512Mi" volumeMounts: - name: scripts subPath: prosody/cont-init.sh mountPath: /etc/cont-init.d/99-k8s readOnly: yes {% if jitsi_meet_streamui is defined %} - name: scripts subPath: prosody/streamui.sh mountPath: /etc/cont-init.d/90-streamui readOnly: yes {% endif %} - name: config subPath: prosody mountPath: /config env: - name: PUBLIC_URL value: "https://{{ jitsi_meet_hostname }}" - name: ENABLE_LOBBY value: "1" {% if jitsi_meet_auth is defined %} - name: ENABLE_AUTH value: "1" - name: AUTH_TYPE value: "internal" - name: ENABLE_GUESTS value: "{{ (jitsi_meet_auth.enable_guests | default(false)) | ternary('1', '0') }}" {% endif %} - name: XMPP_DOMAIN value: meet.jitsi - name: XMPP_AUTH_DOMAIN value: auth.meet.jitsi {% if jitsi_meet_auth is defined and (jitsi_meet_auth.enable_guests | default(false)) %} - name: XMPP_GUEST_DOMAIN value: guest.meet.jitsi {% endif %} - name: XMPP_MUC_DOMAIN value: muc.meet.jitsi - name: XMPP_INTERNAL_MUC_DOMAIN value: internal-muc.meet.jitsi {% if 'jicofo_component_secret' in jitsi_meet_secrets %} - name: JICOFO_COMPONENT_SECRET value: "{{ jitsi_meet_secrets.jicofo_component_secret }}" {% endif %} - name: JICOFO_AUTH_USER value: focus - name: JICOFO_AUTH_PASSWORD value: "{{ jitsi_meet_secrets.jicofo_auth_password }}" - name: JVB_AUTH_USER value: jvb - name: JVB_AUTH_PASSWORD value: "{{ jitsi_meet_secrets.jvb_auth_password }}" - name: TZ value: {{ jitsi_meet_timezone }} - name: web image: "jitsi/web:{{ jitsi_meet_version }}" resources: requests: memory: "128Mi" limits: memory: "512Mi" ports: - protocol: TCP containerPort: 80 hostPort: {{ jitsi_meet_http_port }} hostIP: 127.0.0.1 volumeMounts: {% if jitsi_meet_streamui is defined %} - name: scripts subPath: web/streamui.sh mountPath: /etc/cont-init.d/90-streamui readOnly: yes {% endif %} - name: config subPath: web mountPath: /config env: - name: PUBLIC_URL value: "https://{{ jitsi_meet_hostname }}" - name: DISABLE_HTTPS value: "1" - name: ENABLE_HTTP_REDIRECT value: "0" - name: ENABLE_P2P value: "{{ jitsi_meet_p2p_enable | ternary('true', 'false') }}" {% if jitsi_meet_require_display_name is defined %} - name: ENABLE_REQUIRE_DISPLAY_NAME value: "{{ jitsi_meet_require_display_name | ternary('true', 'false') }}" {% endif %} {% if jitsi_meet_auth is defined %} - name: ENABLE_AUTH value: "1" - name: ENABLE_GUESTS value: "{{ (jitsi_meet_auth.enable_guests | default(false)) | ternary('1', '0') }}" {% endif %} - name: XMPP_DOMAIN value: meet.jitsi - name: XMPP_AUTH_DOMAIN value: auth.meet.jitsi {% if jitsi_meet_auth is defined and (jitsi_meet_auth.enable_guests | default(false)) %} - name: XMPP_GUEST_DOMAIN value: guest.meet.jitsi {% endif %} - name: XMPP_MUC_DOMAIN value: muc.meet.jitsi - name: XMPP_BOSH_URL_BASE value: http://127.0.0.1:5280 - name: JICOFO_AUTH_USER value: focus - name: TZ value: {{ jitsi_meet_timezone }} {% if jitsi_meet_resolution is defined %} {% if 'default' in jitsi_meet_resolution %} - name: RESOLUTION value: "{{ jitsi_meet_resolution.default.height }}" - name: RESOLUTION_WIDTH value: "{{ jitsi_meet_resolution.default.width }}" {% endif %} {% if 'min' in jitsi_meet_resolution %} - name: RESOLUTION_MIN value: "{{ jitsi_meet_resolution.min.height }}" - name: RESOLUTION_WIDTH_MIN value: "{{ jitsi_meet_resolution.min.width }}" {% endif %} {% endif %} - name: COLIBRI_WEBSOCKET_REGEX value: "127\\.0\\.0\\.1" - name: jvb image: "jitsi/jvb:{{ jitsi_meet_version }}" resources: requests: memory: "512Mi" limits: memory: "2Gi" ports: - protocol: UDP containerPort: {{ jitsi_meet_jvb_port }} hostPort: {{ jitsi_meet_jvb_port }} hostIP: "{{ external_ip | default(ansible_default_ipv4.address) }}" volumeMounts: {% if jitsi_meet_jvb_config_extra is defined %} - name: scripts subPath: jvb/cont-init.sh mountPath: /etc/cont-init.d/99-k8s readOnly: yes {% endif %} - name: config subPath: jvb mountPath: /config env: - name: XMPP_SERVER value: 127.0.0.1 - name: XMPP_AUTH_DOMAIN value: auth.meet.jitsi - name: XMPP_INTERNAL_MUC_DOMAIN value: internal-muc.meet.jitsi - name: JVB_AUTH_USER value: jvb - name: JVB_AUTH_PASSWORD value: "{{ jitsi_meet_secrets.jvb_auth_password }}" - name: JVB_BREWERY_MUC value: jvbbrewery - name: PUBLIC_URL value: "https://{{ jitsi_meet_hostname }}" - name: JVB_PORT value: "{{ jitsi_meet_jvb_port }}" {# TODO: remove environment variable for TCP harvester once all instances run on stable-7001 or newer #} - name: JVB_TCP_HARVESTER_DISABLED value: "true" - name: JVB_ADVERTISE_IPS value: "{{ external_ip | default(ansible_default_ipv4.address) }}" - name: JVB_WS_SERVER_ID value: "127.0.0.1" - name: TZ value: {{ jitsi_meet_timezone }} {% if jitsi_meet_streamui is defined %} - name: stream-ui image: "get.more.failed.systems/public_projects/jitsi-stream-ui:{{ jitsi_meet_streamui.image_tag }}" resources: requests: memory: "128Mi" limits: memory: "512Mi" ports: - protocol: TCP containerPort: 3000 hostPort: {{ jitsi_meet_streamui.http_port }} hostIP: 127.0.0.1 env: - name: HTTP_PATH value: "/stream-ui" - name: JITSI_XMPP_ID value: "display@stream-ui.meet.jitsi" - name: JITSI_XMPP_PASSWORD value: "{{ jitsi_meet_secrets.streamuidisplay_auth_password }}" {% if 'default_control_room' in jitsi_meet_streamui %} - name: DEFAULT_CONTROL_ROOM value: "{{ jitsi_meet_streamui.default_control_room }}" {% endif %} {% endif %} volumes: - name: scripts hostPath: path: "{{ jitsi_meet_base_path }}/{{ jitsi_meet_inst_name }}/scripts" - name: config emptyDir: medium: Memory