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 Packaging & Development
  3. XMPP Server - Prosody

XMPP Server - Prosody

Scheduled Pinned Locked Moved App Packaging & Development
63 Posts 6 Posters 7.9k 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.
  • girishG girish

    @djxx Great write up! I have some questions:

    • How should the sub-domains be configured? For example - upload, conference, proxy ... Are these a) http or tcp b) If http, are these separate http services from the parent xmpp service itself?
    • About the bare domain mydomain.com . So XMPP just needs the cert for this, but doesn't actually require any configuration as such? Meaning, no TCP or HTTP related configuration is required to what mydomain.com points to?
    D Offline
    D Offline
    djxx
    wrote on last edited by
    #9

    @girish - As far as I know, all ports except 5280 don't serve HTTP - they're just TCP traffic. The 5280 port is just for some modules, one of which is a "status" module I planned to use for the required healthcheck endpoint. I did my best to put the data in the manifest file, but honestly I got the port information from here: https://github.com/SaraSmiseth/prosody#ports

    As for the bare domain, yes - it just needs the cert. It won't actually communicate through this domain; It relies on SRV DNS records to point XMPP clients to the sub-domain that is actually serving XMPP: https://github.com/SaraSmiseth/prosody#dns

    It's possible some of these ports and domains could be consolidated - but there will for sure be more than one domain, port, and cert needed to set XMPP up properly.

    girishG 1 Reply Last reply
    3
    • D djxx

      @girish - As far as I know, all ports except 5280 don't serve HTTP - they're just TCP traffic. The 5280 port is just for some modules, one of which is a "status" module I planned to use for the required healthcheck endpoint. I did my best to put the data in the manifest file, but honestly I got the port information from here: https://github.com/SaraSmiseth/prosody#ports

      As for the bare domain, yes - it just needs the cert. It won't actually communicate through this domain; It relies on SRV DNS records to point XMPP clients to the sub-domain that is actually serving XMPP: https://github.com/SaraSmiseth/prosody#dns

      It's possible some of these ports and domains could be consolidated - but there will for sure be more than one domain, port, and cert needed to set XMPP up properly.

      girishG Offline
      girishG Offline
      girish
      Staff
      wrote on last edited by
      #10

      @djxx Ah ok, then this requires the platform feature to set up DNS when using TCP ports. Currently, we support this via aliases only when using HTTP.

      But this shouldn't be a blocker because one can anyway put these DNS entries manually (for now, till we have all the requirements charted out).

      Also, for your initial problem of not having the certs of the bare domain - just add the bare domain as an alias . You can do this by setting "multiDomain": true in the manifest. Once you do that the tls addon should provide with the cert as well.

      D 1 Reply Last reply
      2
      • girishG girish

        @djxx Ah ok, then this requires the platform feature to set up DNS when using TCP ports. Currently, we support this via aliases only when using HTTP.

        But this shouldn't be a blocker because one can anyway put these DNS entries manually (for now, till we have all the requirements charted out).

        Also, for your initial problem of not having the certs of the bare domain - just add the bare domain as an alias . You can do this by setting "multiDomain": true in the manifest. Once you do that the tls addon should provide with the cert as well.

        D Offline
        D Offline
        djxx
        wrote on last edited by
        #11

        @girish Thanks. Does enabling multiDomain result in the cert requested from Lets Encrypt using alternate names, or does it put multiple certs into /etc/certs ? Also, is there a way to specify the multiple domains in the manifest - or does it need to be done manually after the application is set up? This could make installation difficult if we need to partially start the application, then add some domain entries, and then do another action to complete the application's setup.

        1 Reply Last reply
        0
        • D Offline
          D Offline
          djxx
          wrote on last edited by
          #12

          I went ahead and tried it, and I do see two certs now:

          • tls_cert.pem
          • xmpp.mydomain.com.cert

          But both of these have CN and alternate name set to: *.mydomain.com and are the exact same cert.

          girishG 1 Reply Last reply
          0
          • girishG Offline
            girishG Offline
            girish
            Staff
            wrote on last edited by
            #13

            https://docs.trueelena.org/self_hosting/modern_xmpp_server/index.html has some XMPP setup . I haven't read through that in close detail.

            1 Reply Last reply
            0
            • D djxx

              I went ahead and tried it, and I do see two certs now:

              • tls_cert.pem
              • xmpp.mydomain.com.cert

              But both of these have CN and alternate name set to: *.mydomain.com and are the exact same cert.

              girishG Offline
              girishG Offline
              girish
              Staff
              wrote on last edited by
              #14

              @djxx said in XMPP Server - Prosody:

              But both of these have CN and alternate name set to: *.mydomain.com and are the exact same cert.

              Will investigate when I find some time

              D 1 Reply Last reply
              0
              • girishG girish

                @djxx said in XMPP Server - Prosody:

                But both of these have CN and alternate name set to: *.mydomain.com and are the exact same cert.

                Will investigate when I find some time

                D Offline
                D Offline
                djxx
                wrote on last edited by
                #15

                @girish Any update on this? I'd like to be able to keep tinkering on this before I forget all the prosody and cloudron stuff I crammed in my head 🙂

                girishG L 2 Replies Last reply
                3
                • D djxx

                  @girish Any update on this? I'd like to be able to keep tinkering on this before I forget all the prosody and cloudron stuff I crammed in my head 🙂

                  girishG Offline
                  girishG Offline
                  girish
                  Staff
                  wrote on last edited by
                  #16

                  @djxx can only look into this after Christmas

                  1 Reply Last reply
                  0
                  • L Offline
                    L Offline
                    LoudLemur
                    wrote on last edited by
                    #17

                    @djxx - thank you for doing this difficult work and helping Cloudron support XMPP.

                    I hope that we are able to make Prosody an officially supported application soon. Maybe your write up of the packaging experience will help others who might want to try supporting ejabberd.

                    Most people say ejabberd is tricky for configuration. I think that supporting it on Cloudron is one way to accomplish all that effort and make it available with one click.

                    Well done!

                    1 Reply Last reply
                    1
                    • L Offline
                      L Offline
                      LoudLemur
                      wrote on last edited by
                      #18

                      Peertube has a chat plugin. One of the options is for XMPP Prosody:

                      brave_5ZCZM3L4Xn.png

                      1 Reply Last reply
                      1
                      • D Offline
                        D Offline
                        djxx
                        wrote on last edited by
                        #19

                        Hello - any update on this? A standalone app is still needed; even though some apps like Jitsi use XMPP internally (like Jitsi) it doesn't mean it's useful for general external usage.

                        robiR girishG 2 Replies Last reply
                        0
                        • D djxx

                          Hello - any update on this? A standalone app is still needed; even though some apps like Jitsi use XMPP internally (like Jitsi) it doesn't mean it's useful for general external usage.

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

                          @djxx check the VoceChat custom app install in the meantime.

                          Conscious tech

                          jdaviescoatesJ 1 Reply Last reply
                          1
                          • robiR robi

                            @djxx check the VoceChat custom app install in the meantime.

                            jdaviescoatesJ Offline
                            jdaviescoatesJ Offline
                            jdaviescoates
                            wrote on last edited by
                            #21

                            @robi said in XMPP Server - Prosody:

                            @djxx check the VoceChat custom app install in the meantime.

                            That's not really comparable to an XMPP server.

                            I use Cloudron with Gandi & Hetzner

                            robiR 1 Reply Last reply
                            0
                            • jdaviescoatesJ jdaviescoates

                              @robi said in XMPP Server - Prosody:

                              @djxx check the VoceChat custom app install in the meantime.

                              That's not really comparable to an XMPP server.

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

                              @jdaviescoates Neither is Jitsi.

                              Conscious tech

                              jdaviescoatesJ 1 Reply Last reply
                              0
                              • robiR robi

                                @jdaviescoates Neither is Jitsi.

                                jdaviescoatesJ Offline
                                jdaviescoatesJ Offline
                                jdaviescoates
                                wrote on last edited by
                                #23

                                @robi no one said it was 🙂 (@djxx just mentioned Jitsi uses it, whilst pointing out that isn't useful and an standalone XMPP server is still needed)

                                I use Cloudron with Gandi & Hetzner

                                1 Reply Last reply
                                0
                                • D djxx

                                  Hello - any update on this? A standalone app is still needed; even though some apps like Jitsi use XMPP internally (like Jitsi) it doesn't mean it's useful for general external usage.

                                  girishG Offline
                                  girishG Offline
                                  girish
                                  Staff
                                  wrote on last edited by
                                  #24

                                  @djxx haven't worked on this yet.

                                  1 Reply Last reply
                                  0
                                  • L Offline
                                    L Offline
                                    LoudLemur
                                    wrote on last edited by
                                    #25

                                    Prosody would help integrate with Peertube too: the Peertube livechat plugin uses Prosody:

                                    brave_nVI8zBZyPd.png

                                    1 Reply Last reply
                                    1
                                    • D Offline
                                      D Offline
                                      djxx
                                      wrote on last edited by
                                      #26

                                      @girish - any update? I see you guys shipped 8.0, congrats! I'm looking at moving servers again and no XMPP is a deal breaker for me at the moment.

                                      1 Reply Last reply
                                      1
                                      • D djxx

                                        @girish Any update on this? I'd like to be able to keep tinkering on this before I forget all the prosody and cloudron stuff I crammed in my head 🙂

                                        L Offline
                                        L Offline
                                        LoudLemur
                                        wrote on last edited by
                                        #27

                                        @djxx said in XMPP Server - Prosody:

                                        @girish Any update on this? I'd like to be able to keep tinkering on this before I forget all the prosody and cloudron stuff I crammed in my head 🙂

                                        I know the feeling! We lose a lot if we suspend focus on a project for a while.

                                        1 Reply Last reply
                                        0
                                        • D djxx referenced this topic on
                                        • girishG Offline
                                          girishG Offline
                                          girish
                                          Staff
                                          wrote on last edited by
                                          #28

                                          @djxx Is https://github.com/DerekJarvis/cloudron-prosody still the latest code? We should have some free cycles coming up, so I thought we can take a look if this is something easily doable. I can't promise we will publish it since it seems quite complicated (it's why we had to remove Jitsi too, it became way too hard to fight their system). Was the cert issue the blocker for you to just use your custom image yourself?

                                          jdaviescoatesJ 1 Reply Last reply
                                          3
                                          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