Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. Prosody + Converse.js

Prosody + Converse.js

Scheduled Pinned Locked Moved App Wishlist
34 Posts 7 Posters 6.7k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    syn
    App Dev
    wrote on last edited by syn
    #10

    Ok, certificates are in place (thanks @girish) so now jabber-app is in a useable state with server-to-server communication, AND mutli-user chatrooms support.

    One problem is that when we limit MUC room creation to local users only (so random people off the internet won't be able to create public rooms on your conference.example.com) - prosody expects your local JIDs to be user@example.com, not user@chat.example.com.

    I have side-stepped this by defaulting jabber-app's conference subdomain to conference.chat.example.com, and not conference.example.com. So it's possible misconfiguration by the end user will result in the MUC component not being functional.

    Another problem is, I would like to be able to use cloudron's apex domain as my JID host (syn@example.com, not syn@chat.example.com)

    That requires 2 things:

    • DNS management to add SRV records (we can probably have the users manually do that with a generated instruction)
    • Access to the TLS certificate for apex domain
      • alternatively, TLS-proxied ports 5223/5270, although I'm not certain what is the state of Direct TLS adoption among clients/server implementations these days

    then a small patch for prosofy.cfg.lua should enable those upper-level VirtualHosts, and it's done.

    murgeroM 1 Reply Last reply
    3
    • S syn

      Ok, certificates are in place (thanks @girish) so now jabber-app is in a useable state with server-to-server communication, AND mutli-user chatrooms support.

      One problem is that when we limit MUC room creation to local users only (so random people off the internet won't be able to create public rooms on your conference.example.com) - prosody expects your local JIDs to be user@example.com, not user@chat.example.com.

      I have side-stepped this by defaulting jabber-app's conference subdomain to conference.chat.example.com, and not conference.example.com. So it's possible misconfiguration by the end user will result in the MUC component not being functional.

      Another problem is, I would like to be able to use cloudron's apex domain as my JID host (syn@example.com, not syn@chat.example.com)

      That requires 2 things:

      • DNS management to add SRV records (we can probably have the users manually do that with a generated instruction)
      • Access to the TLS certificate for apex domain
        • alternatively, TLS-proxied ports 5223/5270, although I'm not certain what is the state of Direct TLS adoption among clients/server implementations these days

      then a small patch for prosofy.cfg.lua should enable those upper-level VirtualHosts, and it's done.

      murgeroM Offline
      murgeroM Offline
      murgero
      App Dev
      wrote on last edited by
      #11

      @syn Have you seen Snikket? It's a prosody clone I believe but it is way easier to setup

      --
      https://urgero.org
      ~ Professional Nerd. Freelance Programmer. ~

      jdaviescoatesJ S 2 Replies Last reply
      1
      • murgeroM murgero

        @syn Have you seen Snikket? It's a prosody clone I believe but it is way easier to setup

        jdaviescoatesJ Online
        jdaviescoatesJ Online
        jdaviescoates
        wrote on last edited by
        #12

        @murgero said in Prosody + Converse.js:

        Snikket

        +1

        It's also written by the same person who is main Prosody dev too.

        Upvote here: https://forum.cloudron.io/post/23291

        I use Cloudron with Gandi & Hetzner

        1 Reply Last reply
        0
        • murgeroM murgero

          @syn Have you seen Snikket? It's a prosody clone I believe but it is way easier to setup

          S Offline
          S Offline
          syn
          App Dev
          wrote on last edited by
          #13

          @murgero I have. From what i see - it does not have the actual web client, just the management interface.

          As for the XMPP server itself - it is in fact prosody, so nothing special there.

          Why?

          murgeroM 1 Reply Last reply
          0
          • S syn

            @murgero I have. From what i see - it does not have the actual web client, just the management interface.

            As for the XMPP server itself - it is in fact prosody, so nothing special there.

            Why?

            murgeroM Offline
            murgeroM Offline
            murgero
            App Dev
            wrote on last edited by
            #14

            @syn Just wondering if it would be easier to bundle snikket since it has the scripts to setup automatically already?

            --
            https://urgero.org
            ~ Professional Nerd. Freelance Programmer. ~

            S 1 Reply Last reply
            0
            • murgeroM murgero

              @syn Just wondering if it would be easier to bundle snikket since it has the scripts to setup automatically already?

              S Offline
              S Offline
              syn
              App Dev
              wrote on last edited by
              #15

              @murgero the blockers for my dream-world Jabber app on Cloudron are not related to configuring prosody. It's done already and I for one am using the current jabber-app daily.

              The remaining issues are related to lack of interfaces to editing DNS (SRV, TXT) records from inside cloudron apps. That is going to affect any XMPP implementation.

              I appreciate your feedback, but please look into the actual limitations instead of jumping to between shiny end-user brandings.

              jdaviescoatesJ murgeroM 2 Replies Last reply
              1
              • S syn

                @murgero the blockers for my dream-world Jabber app on Cloudron are not related to configuring prosody. It's done already and I for one am using the current jabber-app daily.

                The remaining issues are related to lack of interfaces to editing DNS (SRV, TXT) records from inside cloudron apps. That is going to affect any XMPP implementation.

                I appreciate your feedback, but please look into the actual limitations instead of jumping to between shiny end-user brandings.

                jdaviescoatesJ Online
                jdaviescoatesJ Online
                jdaviescoates
                wrote on last edited by
                #16

                @syn said in Prosody + Converse.js:

                It's done already and I for one am using the current jabber-app daily.

                What Jabber app?

                I use Cloudron with Gandi & Hetzner

                S 1 Reply Last reply
                0
                • jdaviescoatesJ jdaviescoates

                  @syn said in Prosody + Converse.js:

                  It's done already and I for one am using the current jabber-app daily.

                  What Jabber app?

                  S Offline
                  S Offline
                  syn
                  App Dev
                  wrote on last edited by
                  #17

                  @jdaviescoates as I posted on 18 Jul 2018, 20:23:

                  I have packaged this as https://git.cloudron.io/synchrone/jabber-app

                  murgeroM 1 Reply Last reply
                  1
                  • S syn

                    @murgero the blockers for my dream-world Jabber app on Cloudron are not related to configuring prosody. It's done already and I for one am using the current jabber-app daily.

                    The remaining issues are related to lack of interfaces to editing DNS (SRV, TXT) records from inside cloudron apps. That is going to affect any XMPP implementation.

                    I appreciate your feedback, but please look into the actual limitations instead of jumping to between shiny end-user brandings.

                    murgeroM Offline
                    murgeroM Offline
                    murgero
                    App Dev
                    wrote on last edited by
                    #18

                    @syn Oh! My bad. I've been out of the community for a few months and just coming back now.

                    --
                    https://urgero.org
                    ~ Professional Nerd. Freelance Programmer. ~

                    S 1 Reply Last reply
                    0
                    • S syn

                      @jdaviescoates as I posted on 18 Jul 2018, 20:23:

                      I have packaged this as https://git.cloudron.io/synchrone/jabber-app

                      murgeroM Offline
                      murgeroM Offline
                      murgero
                      App Dev
                      wrote on last edited by
                      #19

                      @syn I'd like to build and install, what's the proper way to do this while waiting for this beautiful app to hit the store.

                      --
                      https://urgero.org
                      ~ Professional Nerd. Freelance Programmer. ~

                      robiR 1 Reply Last reply
                      0
                      • murgeroM murgero

                        @syn I'd like to build and install, what's the proper way to do this while waiting for this beautiful app to hit the store.

                        robiR Offline
                        robiR Offline
                        robi
                        wrote on last edited by
                        #20

                        @murgero https://docs.cloudron.io/packaging/tutorial/#update

                        Conscious tech

                        murgeroM 1 Reply Last reply
                        0
                        • robiR robi

                          @murgero https://docs.cloudron.io/packaging/tutorial/#update

                          murgeroM Offline
                          murgeroM Offline
                          murgero
                          App Dev
                          wrote on last edited by
                          #21

                          @robi Hey Robi, I am an app dev with Cloudron (RE: the appdev tag) so I know how to package and install apps. My question was more the after-install setup as he mentioned some manual steps (but was not specific)

                          --
                          https://urgero.org
                          ~ Professional Nerd. Freelance Programmer. ~

                          robiR 1 Reply Last reply
                          0
                          • murgeroM murgero

                            @robi Hey Robi, I am an app dev with Cloudron (RE: the appdev tag) so I know how to package and install apps. My question was more the after-install setup as he mentioned some manual steps (but was not specific)

                            robiR Offline
                            robiR Offline
                            robi
                            wrote on last edited by
                            #22

                            @murgero Lol, sorry, thought you were getting rusty ;-]

                            Thanks that's more specific.

                            Conscious tech

                            murgeroM 1 Reply Last reply
                            1
                            • robiR robi

                              @murgero Lol, sorry, thought you were getting rusty ;-]

                              Thanks that's more specific.

                              murgeroM Offline
                              murgeroM Offline
                              murgero
                              App Dev
                              wrote on last edited by
                              #23

                              @robi Thanks for helping anyway! Never a bad thing to give good info.

                              --
                              https://urgero.org
                              ~ Professional Nerd. Freelance Programmer. ~

                              1 Reply Last reply
                              0
                              • murgeroM murgero

                                @syn Oh! My bad. I've been out of the community for a few months and just coming back now.

                                S Offline
                                S Offline
                                syn
                                App Dev
                                wrote on last edited by
                                #24

                                @murgero If you want to use JIDs like murgero@chat.example.com - no special instructions, it works as is.

                                If you want your JID to be murgero@example.com - currently you must choose example.com as cloudron app domain, otherwise it won't work.

                                XMPP allows you to have JIDs on a different server than where A-record is pointing to, see https://www.rfc-editor.org/rfc/rfc6120#section-3.2.1

                                Notice that the server must present a valid CA-trusted TLS certificate for example.com in this set up, not it's own chat.example.com.

                                Currently prosody.cfg.lua is not set up to handle other domains except the one that the app is installed as. For me it does not make sense to implement the config handling unless I have a way to provide no-manual-actions experience.

                                Feel free to contribute though.

                                murgeroM 1 Reply Last reply
                                0
                                • S syn

                                  @murgero If you want to use JIDs like murgero@chat.example.com - no special instructions, it works as is.

                                  If you want your JID to be murgero@example.com - currently you must choose example.com as cloudron app domain, otherwise it won't work.

                                  XMPP allows you to have JIDs on a different server than where A-record is pointing to, see https://www.rfc-editor.org/rfc/rfc6120#section-3.2.1

                                  Notice that the server must present a valid CA-trusted TLS certificate for example.com in this set up, not it's own chat.example.com.

                                  Currently prosody.cfg.lua is not set up to handle other domains except the one that the app is installed as. For me it does not make sense to implement the config handling unless I have a way to provide no-manual-actions experience.

                                  Feel free to contribute though.

                                  murgeroM Offline
                                  murgeroM Offline
                                  murgero
                                  App Dev
                                  wrote on last edited by
                                  #25

                                  @syn Gotcha, for a lot of users, domain will matter. Hopefully cloudron will allow more cert access for first level domains. I'd love to test this out as well.

                                  You use converse.js for this, have you looked into movim at all for a front end too?

                                  --
                                  https://urgero.org
                                  ~ Professional Nerd. Freelance Programmer. ~

                                  S 1 Reply Last reply
                                  0
                                  • murgeroM murgero

                                    @syn Gotcha, for a lot of users, domain will matter. Hopefully cloudron will allow more cert access for first level domains. I'd love to test this out as well.

                                    You use converse.js for this, have you looked into movim at all for a front end too?

                                    S Offline
                                    S Offline
                                    syn
                                    App Dev
                                    wrote on last edited by
                                    #26

                                    @murgero movim looks interesting, I can totally see it as another app on cloudron. XMPP allows for 3rd party web clients over BOSH/websockets. I would set up CORS on prosody for this, if not already supported.

                                    1 Reply Last reply
                                    2
                                    • S Offline
                                      S Offline
                                      syn
                                      App Dev
                                      wrote on last edited by
                                      #27

                                      @girish I consider this app ready for Beta submission to cloudron app store.

                                      jdaviescoatesJ 1 Reply Last reply
                                      2
                                      • S syn

                                        @girish I consider this app ready for Beta submission to cloudron app store.

                                        jdaviescoatesJ Online
                                        jdaviescoatesJ Online
                                        jdaviescoates
                                        wrote on last edited by
                                        #28

                                        @syn said in Prosody + Converse.js:

                                        @girish I consider this app ready for Beta submission to cloudron app store.

                                        sounds great, I may have missed it, but where is the code?

                                        I use Cloudron with Gandi & Hetzner

                                        robiR 1 Reply Last reply
                                        0
                                        • jdaviescoatesJ jdaviescoates

                                          @syn said in Prosody + Converse.js:

                                          @girish I consider this app ready for Beta submission to cloudron app store.

                                          sounds great, I may have missed it, but where is the code?

                                          robiR Offline
                                          robiR Offline
                                          robi
                                          wrote on last edited by
                                          #29

                                          @jdaviescoates said in Prosody + Converse.js:

                                          @syn said in Prosody + Converse.js:

                                          @girish I consider this app ready for Beta submission to cloudron app store.

                                          sounds great, I may have missed it, but where is the code?

                                          scroll up bud, you've asked this before 😉

                                          Conscious tech

                                          jdaviescoatesJ 2 Replies Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search