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. Nextcloud Talk high-performance back-end

Nextcloud Talk high-performance back-end

Scheduled Pinned Locked Moved App Wishlist
nextcloudnextcloud talkvideo
53 Posts 13 Posters 11.0k Views 19 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.
    • jdaviescoatesJ Offline
      jdaviescoatesJ Offline
      jdaviescoates
      wrote on last edited by
      #1

      This has just been open sourced

      See
      https://nextcloud.com/blog/open-sourcing-talk-back-end-rc-of-talk-9-brings-lots-of-improvements/

      https://github.com/strukturag/nextcloud-spreed-signaling

      Would love to be able to use this with my Cloudron Nextcloud!

      I use Cloudron with Gandi & Hetzner

      1 Reply Last reply
      23
      • N Offline
        N Offline
        NCKNE
        wrote on last edited by
        #2

        Wow, what a big step to release this as open source. Especially with Jisti being hard to be packaged, this would be awesome to get running on cloudron. I am not aware of any solution offering a videobridge/MCU/etc. so far that is available on cloudron, so this would be a great addition.

        fbartelsF 1 Reply Last reply
        2
        • N NCKNE

          Wow, what a big step to release this as open source. Especially with Jisti being hard to be packaged, this would be awesome to get running on cloudron. I am not aware of any solution offering a videobridge/MCU/etc. so far that is available on cloudron, so this would be a great addition.

          fbartelsF Offline
          fbartelsF Offline
          fbartels
          App Dev
          wrote on last edited by
          #3

          @NCKNE said in Nextcloud Talk high-performance back-end:

          I am not aware of any solution offering a videobridge/MCU/etc.

          But neither is Nextcloud. What they have now released is a signalling server, this is just meant to better cope with a lot of users (otherwise the signalling functionality is done in php, which does not scale as well).

          jdaviescoatesJ 1 Reply Last reply
          0
          • fbartelsF fbartels

            @NCKNE said in Nextcloud Talk high-performance back-end:

            I am not aware of any solution offering a videobridge/MCU/etc.

            But neither is Nextcloud. What they have now released is a signalling server, this is just meant to better cope with a lot of users (otherwise the signalling functionality is done in php, which does not scale as well).

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

            @fbartels said in Nextcloud Talk high-performance back-end:

            But neither is Nextcloud. What they have now released is a signalling server, this is just meant to better cope with a lot of users (otherwise the signalling functionality is done in php, which does not scale as well).

            But it looks like it's designed to work Janus General Purpose WebRTC Server which from what I can tell is a gateway that does do this stuff, no?

            I use Cloudron with Gandi & Hetzner

            1 Reply Last reply
            0
            • fbartelsF Offline
              fbartelsF Offline
              fbartels
              App Dev
              wrote on last edited by
              #5

              Yes, Janus indeed has a plug-in to do video through an sfu.

              1 Reply Last reply
              1
              • N Offline
                N Offline
                NCKNE
                wrote on last edited by
                #6

                From skipping though the documentation it looks to me as if the backend including the SFU would be addressed by a NATS server and could be proxied by nginx. While I havenโ€˜t (yet) looked deeper into packaging apps for cloudron and donโ€˜t know if Go would be supported by the base image, I would assume/hope this could be packaged (at least theoretically) for cloudron?

                1 Reply Last reply
                1
                • doodlemania2D Offline
                  doodlemania2D Offline
                  doodlemania2
                  App Dev
                  wrote on last edited by
                  #7

                  Question - what's the difference between https://github.com/strukturag/nextcloud-spreed-signaling and the Turn server that is now available in CR natively?

                  jdaviescoatesJ fbartelsF 2 Replies Last reply
                  1
                  • doodlemania2D doodlemania2

                    Question - what's the difference between https://github.com/strukturag/nextcloud-spreed-signaling and the Turn server that is now available in CR natively?

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

                    @doodlemania2 I'm not really sure, but reading the readme it sounds like perhaps it's the NATS server and the Janus server that are doing the heavy lifting of this high-performance back-end.

                    I use Cloudron with Gandi & Hetzner

                    1 Reply Last reply
                    0
                    • doodlemania2D doodlemania2

                      Question - what's the difference between https://github.com/strukturag/nextcloud-spreed-signaling and the Turn server that is now available in CR natively?

                      fbartelsF Offline
                      fbartelsF Offline
                      fbartels
                      App Dev
                      wrote on last edited by
                      #9

                      @doodlemania2 a sfu/mcu (this is what Janus is doing with this "high performance backend) is only complimentary to a TURN. So you still need Turn and Turn will connected by Janus as well.

                      1 Reply Last reply
                      1
                      • O Offline
                        O Offline
                        oj
                        wrote on last edited by oj
                        #10

                        NT HPB.png

                        Nextcloud Enterprise estimates that a 4-core/ 8GB RAM High-Performance Backend server (i.e. Janus SFU (open source) + Signalling Server (now, open source) + NATS messaging server (open source) + CoTURN server + Nginx + Apache) will work with "at least 150 concurrent users"!

                        Wow!!! Really worth packaging this as a separate app for Cloudron!

                        Shouldn't packaging this get precedence over packaging Jitsi... given that almost every Cloudron subscriber would be using Nextcloud?

                        1 Reply Last reply
                        2
                        • doodlemania2D Offline
                          doodlemania2D Offline
                          doodlemania2
                          App Dev
                          wrote on last edited by
                          #11

                          That's a lot of pieces! I'd be happy to look at packaging it @oj but will have to do quite a bit of research to see what all is involved. I was thinking it was just that one needed the spreed signaling. Will give it a go!

                          1 Reply Last reply
                          4
                          • N Offline
                            N Offline
                            NCKNE
                            wrote on last edited by
                            #12

                            Having this available in the cloudron universe would be simply awesome and a big selling point. I have so far not seen any providers offering a hosted solution with the Talk High Performance Backend. @doodlemania2: please keep us updated on the packaging. If you need help with tests, etc. let us know. I really appreciate that you are willing to give it a try!
                            Together with a future elasticsearch service (hopefully) for full text search, cloudron will become a great nextlcoud hosting platform.

                            1 Reply Last reply
                            2
                            • doodlemania2D Offline
                              doodlemania2D Offline
                              doodlemania2
                              App Dev
                              wrote on last edited by
                              #13

                              I've been playing with this. Most of it is pretty straight forward, but Janus is kicking my butt. I can't get it to install due to wild wacky dependencies flying every which way. Continuing to work on it, but if you have an easy Janus setup script, let me know ๐Ÿ™‚

                              jdaviescoatesJ 1 Reply Last reply
                              1
                              • doodlemania2D doodlemania2

                                I've been playing with this. Most of it is pretty straight forward, but Janus is kicking my butt. I can't get it to install due to wild wacky dependencies flying every which way. Continuing to work on it, but if you have an easy Janus setup script, let me know ๐Ÿ™‚

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

                                Many thanks for your efforts @doodlemania2! ๐Ÿ™‚

                                @doodlemania2 said in Nextcloud Talk high-performance back-end:

                                if you have an easy Janus setup script, let me know

                                I've no idea, but I've asked on the CoTech and Meet.coop forums:

                                https://community.coops.tech/t/anyone-got-an-ansible-scripts-for-janus-webrtc-server/2150

                                https://forum.meet.coop/t/anyone-got-an-ansible-scripts-for-janus-webrtc-server/131

                                Guess you'll have also seen e.g. https://github.com/andycoates/janus-cluster - anything in there that could be reused?

                                Will be so awesome once this available on Cloudron!

                                I use Cloudron with Gandi & Hetzner

                                1 Reply Last reply
                                0
                                • doodlemania2D Offline
                                  doodlemania2D Offline
                                  doodlemania2
                                  App Dev
                                  wrote on last edited by
                                  #15

                                  Was pointed to this backport: https://gitlab.com/packaging/janus/ going to try it this evening to see if that helps speed things along!

                                  1 Reply Last reply
                                  1
                                  • doodlemania2D Offline
                                    doodlemania2D Offline
                                    doodlemania2
                                    App Dev
                                    wrote on last edited by
                                    #16

                                    So, good news, I've got this working in the Cloudron Base image (I think?) using the signaling test client. My next step will be to wrap things up and start testing against live NextClouds. Currently, I'm thinking I'll disable ALL security since it will only be reachable by a local, on box Nextcloud. Open to suggestions on that.

                                    marioM 1 Reply Last reply
                                    3
                                    • doodlemania2D doodlemania2

                                      So, good news, I've got this working in the Cloudron Base image (I think?) using the signaling test client. My next step will be to wrap things up and start testing against live NextClouds. Currently, I'm thinking I'll disable ALL security since it will only be reachable by a local, on box Nextcloud. Open to suggestions on that.

                                      marioM Offline
                                      marioM Offline
                                      mario
                                      App Dev
                                      wrote on last edited by
                                      #17

                                      @doodlemania2 hm what do you mean by that? High performance backend needs to be accessible externally as the clients communicate with it via websocket.

                                      1 Reply Last reply
                                      0
                                      • doodlemania2D Offline
                                        doodlemania2D Offline
                                        doodlemania2
                                        App Dev
                                        wrote on last edited by doodlemania2
                                        #18

                                        Yeah, sorry, I meant that signaling would be externally accessible, but it appears nats and janus do not as signaling just calls them. Does that sound about right or am I WAY off?

                                        1 Reply Last reply
                                        0
                                        • doodlemania2D Offline
                                          doodlemania2D Offline
                                          doodlemania2
                                          App Dev
                                          wrote on last edited by
                                          #19

                                          Continuing to play with this. I think it's working, but I think more than just the signaling app needs access to the internet. I think the Janus bits need to be accessible as well. Currently, it's behind the docker net.

                                          1 Reply Last reply
                                          2
                                          • doodlemania2D Offline
                                            doodlemania2D Offline
                                            doodlemania2
                                            App Dev
                                            wrote on last edited by
                                            #20

                                            Going to build Janus and dependencies from source (which will take some time) as the backports are old. While doing this, @nebulon is working on an update to TURN/STUN to enable API access in CR itself! See: https://git.cloudron.io/cloudron/box/-/issues/710

                                            jdaviescoatesJ 1 Reply 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