How to correctly upgrade Jot Server?

Hello @Alexey

What is the correct way to upgrade my Jot Server (v1.0.3) to the latest version (v2.0.0). I would like to use the JWT auth and rooms features.

1. Can I just download the lastest Jot server from GitHub and upload it to my server via FTP to overwrite my existing Jot server files/installation and I done?

Or Do I need to stop Jot Server first using:

forever stop app.js

2. Will I need to reinstall all necessary dependencies using:

npm install

3. Will it be necessary to make Jot Server watch for changes in the certificate folder again using:

forever -w --watchDirectory=/path/to/certificates start app.js

4. Where/how to generate the 'secret' mentioned in the config.json? Is the the same with the JWT token App id in the Messenger settings? Also Where to get the JWT token App id?

5. Are the following lines no longer in used in the new congig.json file (Jot Server v2.0.0)?:

"OFFLINE":0,

"ONLINE":1,

"AWAY":2

6. Does this installation tutorial found here https://unacms.com/wiki/jot-server-installation still apply to the new Jot Server? I am a bit confused since there is another and completely different tutorial here: https://github.com/unacms/jot-server

Do we still need to create a /primus folder with a .htaccess file in it on the server?

Do we still need to 'Register/Deploy Application' in the 'Application Manager' of cPanel using Phusion Passenger as requested in the installation tutorial in the first link?

Thanks and happy holiday season! 😀

  • 3822
  • More
Replies (7)
    • Hello,

      Here's a detailed response to your questions about upgrading Jot Server:

      1) Upgrade Approach

      It's better to create a new folder on your server and unpack the new version (v2.0.0) of Jot Server from GitHub there. This way, you don’t need to stop the currently running version (v1.0.3) while setting up the new one.

      2) Dependencies

      Inside the new folder, you'll need to execute the same steps you did for the initial installation, specifically:

      npm install  
      

      3) Certificate and Startup

      Copy the certificate details from your old config/config.json to the new config/config.json. Once everything is set up, stop the old version of Jot Server and start the new version using forever or any other process manager you prefer:

      forever -w --watchDirectory=/path/to/certificates start app.js  
      

      3) Configuring the Secret and JWT Token

      The secret mentioned in the config.json is the same as the "Secret word for JWT Token Authentication" configured in Studio -> Messenger -> Settings -> Security

      The JWT token App ID you mentioned is related to Jitsi Meet and should only be set if you're using your own Jitsi Meet server with JWT token authentication enabled. In the latest Messenger version these options should be moved to the Jitis area in settings.

      4) Deprecated Parameters

      Yes, the following parameters are no longer used in Jot Server v2.0.0:

      "OFFLINE": 0,  
      "ONLINE": 1,  
      "AWAY": 2  
      

      These were relevant in the old Messenger version, which supported “away” or “online” statuses. The new Messenger only uses an online/offline indicator, synchronized with the UNA platform's online status.

      5) Installation Tutorials

      Both installation tutorials are valid, but they serve different purposes:

      • The tutorial at unacms.com explains how to install Jot Server using cPanel, leveraging the tools available there. However, this might not be applicable to all hosting environments.
      • The tutorial on GitHub is more suited for cases where you have full SSH access to the server.

      I hope this helps! Let me know if you have further questions.

      Happy holiday season! 😊

      • Hi @Alexey. Thank you for your reply.

        1. Upgrade Approach:

        I got you. Thanks. As I am on my testing server, can I just Stop the currently running Jot Server (1.0.3), delete its folder and upload the new version, then install it from scratch?

        2. Dependencies:

        By stopping app.js and deleting the folder of the currently running Jot Server, will it also delete all its dependencies? Or should I delete them manually? If so, where are they located and what command line to use?

        3. Certificate and Startup

        I have a paid Multi-Domain SSL Certificate that secures several domains on my server, mostly www domains. I didn't bother to secure non-www domains as I redirect all my non-www to www domains.

        Right now, only www.mydomain.com uses the SSL certificate. Will that interfere with how Jot server works? Does Jot Server require both www.mydomain.com and mydomain.com to use SSL?

        4. Configuring the Secret and JWT Token

        Thanks for the clarification. My main question was: Are there any rules for creating the JWT token App id and Secret? Am I the one who should create them or are they automatically generated somewhere? How does the JWT token App id look like? Is it something like: mywebsitedomain.com? I am setting up my Jitsi server.

        5. Deprecated Parameters

        Good to know that now the Messenger synchronizes with the UNA platform's online status. Great work!

        6. Installation Tutorials

        Thanks for the explanation. The Github tutorial is more convenient for me as I have full SSH access to the server.

        7. Port 5443 vs 5000

        Just out of curiosity:

        • Should both inbound and outbound port 5443 be opened? Or just the inbound port 5443?
        • Also, Is there any preference in the use of port 5443 used for Jot Server 1.0.3 versus port 5000 mentioned in the config.json file of the new Jot Server 2.0.0?

        Thank you!

        • Hello @OneEagle,

          Dependencies

          Yes, all dependencies are located in the node_modules folder, which is created during the installation of Jot Server inside its root folder. If you delete the Jot Server 1.0.3 folder, the node_modules folder and all dependencies will also be deleted.

          SSL Certificates

          You can use any valid SSL certificate for your server. But the certificate you add should match the domain where you're installing Jot Server. This is important because the domain you configure in UNA Studio -> Messenger settings (e.g., https://www.mydomain.com:port or https://mydomain.com:port) needs to use the same SSL certificate as the one installed on the server. Ensure that the certificate matches the domain URL you'll use to connect to Jot Server.

          JWT Configuration for Jitsi and Jot Server

          For Jitsi Meet: You can find tutorials on enabling JWT for Jitsi Meet on platforms like YouTube. The same details you use during Jitsi Meet installation should also be configured in UNA Studio -> Messenger settings for Jitsi.

          For Jot Server: The secret key can be any value you choose, such as a standard word (e.g., SecretWord) or a random hash (e.g., f67c2bcbfcfa30fccb36f72dca22a817 or 99baee504a1fe91a07bc66b6900bd39874191889). This secret string must be the same in both UNA Messenger settings and the config/config.json file of Jot Server.

          Ports

          Yes, the port should be open for both inbound and outbound connections. It doesn't matter which port you use, as long as it is secure. However, I recommend avoiding port 5443 because it's widely used and may already be occupied by the system or other applications.

          • Hello @Alexey

            I have managed to upgrade my Jot server. To be more precise, I have just installed the new version from scratch as I am on my testing server. The messenger is working perfectly. Thanks a lot for your guidance.

            With regard to the Jitsi Meet, to be honest, I'm having a really hard time to create/generate a JWT Token Id and Secret. It's so confusing. I went through different tutorials on Youtube, still I can't get it. Most videos I came acoss are about the coding part of JITSI with JWT Token Authentication.

            Could you please recommend me a specific video? or Could you guide me with a quick tutorial (step by step) on how to create a JWT Token Id and Secret?

            Thanks in advance.

            • My attempts to connect Jitsi meet (JAAS) with UNA Messenger resulted in an "EXP" error. Which means the meeting had expired.

              BTW. Look at this pricing for Jitsi. Not very cheap once you leave the free tier.

              UNA is looking more like a bargain... :)

              image_transcoder.php?o=sys_images_editor&h=2402&dpx=2&t=1735870308

              • Hello @OneEagle,

                The installation process usually depends on the type of server you are using. It's important to first determine your server's operating system and version and then look for relevant installation guides based on that ( like Ubuntu 20.04). I also use official Jitsi documentation, as it provides a clear step-by-step guide. Additionally, the Jitsi community forum may help if you encounter any errors or have specific questions during the setup process. I haven't used ChatGPT for installation purposes yet, but it might also be helpful in guiding you through the process.

                • Hello @banister,

                  When the Jitsi service was integrated into the Messenger, there were no cloud solutions like JAAS, as far as I remember, and much of it was free, even on the default server specified in the Messenger settings. From what I can see, JAAS is designed to relieve you from all the issues with setting up and installing Jitsi, and it also provides a full set of tools for configuring it through its own panel. This is likely why the price is higher. At the same time, you can try setting up and installing Jitsi yourself, which should be free. I think at that time, Jitsi Meet was the most suitable option since it was a more accessible solution. Currently, there are many other platforms that can also be integrated into the Messenger if desired.

                  Login or Join to comment.