# Updating a Jitsi-only Deployment

### Preparing to upgrade

1. Download the `.bin` file and copy it onto the Jitsi ESS deployment `element` users' home directory (with the others)
2. Use `chmod +x ./element-installer-enterprise-edition-jitsi-cors-fix.bin` to make the binary executable
3. Make a backup of your `.element-enterprise-server/config` directory
4. Before running the installer, adjust the TLS configured under the `synapseAdmin:` section of the `.element-enterprise-server/config/deployment.yml` file is set to `existing`. It should look like:

    ```yaml
    synapseAdmin:
      config:
        hostOrigin: >-
          https://matrix-admin.example.com,https://matrix-admin.example.com:8443
        verifyTls: useGlobalSetting
      k8s:
        common:
          annotations: {}
        ingress:
          annotations: {}
          fqdn: matrix-admin.example.com
          services: {}
          tls:
            certificate: secretName
            mode: existing
    ```

### Upgrading

1. Run the binary with `./element-installer-enterprise-edition-jitsi-cors-fix.bin`, it will display a link to access the installer.
2. Open the link (replacing the IP address with the Jitsi VM external IP address)
    - If you don't have access, you will need to add your machines' external IP address to the associated AWS Security Group for port `8443`
3. Click on the `Certificates` section from the left navigation menu, ensure all except `Well-Known Delegation` are set to `Externally Managed`, then click `Save` at the bottom of the page.
4. Click the `Deploy` button found on the right of the screen. Finally on the `Deploy` prompt that appears, click the `Start Deployment` button.

<center>
  <table>
    <tr>
      <td><a href="https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745854106117.png"><img src="https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745854106117.png"></a></td>
      <td><a href="https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745854118287.png"><img src="https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745854118287.png"></a></td>
    </tr>
  </table>
</center>

5. You will be prompted for your `sudo` password, switch back to the terminal and provide, then switch back to watch the deployment progress.

### Post-deployment Cleanup

<p class="callout danger">Removing the wrong sections from your ElementDeployment will cause your deployment to break. You can easily repair any changes by repeating the upgrade process documented on this page to restore your ElementDeployment. Doing this is entirely optional, and only needed if your host doesn't have enough CPU / Memory to run all the pods.</p>

1. In the terminal, use `export KUBE_EDITOR=nano` to allow editing Kubernetes objects with `nano`
2. Edit ElementDeployment resource and remove everything but Jitsi, Coturn and Well-Known from the spec:

    ```bash
    kubectl edit ElementDeployment first-element-deployment -n element-onprem
    ```
    First, jump down to the start of the `spec: components:` section. Then remove each entry that isn't `coturn:`, `jitsi:` or `wellKnownDelegation:`. You can tell when a section ends as it's last line before the new component should be `secretName: COMPONENT_NAME`.

   Your final file should be roughly structured like so:

    ```yaml
    apiVersion: matrix.element.io/v1alpha2
    kind: ElementDeployment
    metadata:
      example: data
    spec:
      components:
        coturn:
          example: data
          secretName: coturn
        jitsi:
          example: data
          secretName: jitsi
        wellKnownDelegation:
          example: data
          secretName: well-known-delegation
      global:
        example: data
        secretName: global
    status:
      example: data
    ```
    
4. Finally selete Synapse, Integrator, SynapseAdminUI and ElementWeb custom resources to remove their pods and clean-up the resources they use:

    ```bash
    kubectl delete Synapse/first-element-deployment -n element-onprem
    kubectl delete Integrator/first-element-deployment -n element-onprem
    kubectl delete SynapseAdminUI/first-element-deployment -n element-onprem
    kubectl delete ElementWeb/first-element-deployment -n element-onprem
    ```

### Reset Jitsi Widgets in rooms

If you still observe the Authentication prompt in any rooms' Jitsi widgets, you simply need to remove the widget and re-add. Follow the below steps to do so:

1. Click the `i` icon, found on the room toolbar at the top, to access the room info panel, then select `Extensions`. Click the `3-dot menu` next to the Jitsi widget listed, and click `Remove for everyone`.

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855317082.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855317082.png)

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855361752.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855361752.png)

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855869107.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855869107.png)

2. Click `Add Extensions`, then the `Jitsi Meet` button under `Added to this room`. Then click `Delete`.

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855398952.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855398952.png)

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855450992.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855450992.png)

3. Re-add the Jitsi widget, by clicking the `Video Call` button, found on the room toolbar at the top.

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855517032.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855517032.png)

4. The widget will be re-added, and a prompt will appear when you click `Join Conference` to allow the Jitsi widget to verify your identity. Click `Continue`. Note: You can optionally set this prompt to remember your choice.

[![](https://ems-docs.element.io/uploads/images/gallery/2025-04/scaled-1680-/image-1745855704295.png)](https://ems-docs.element.io/uploads/images/gallery/2025-04/image-1745855704295.png)