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


Navigation

    Cloudron Forum

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Nextcloud Talk high-performance back-end

    App Wishlist
    nextcloud nextcloud talk video
    7
    30
    645
    Loading More Posts
    • 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.
    • jdaviescoates
      jdaviescoates last edited by

      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!

      1 Reply Last reply Reply Quote 13
      • N
        NCKNE last edited by

        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.

        fbartels 1 Reply Last reply Reply Quote 2
        • fbartels
          fbartels App Dev @NCKNE last edited by

          @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).

          jdaviescoates 1 Reply Last reply Reply Quote 0
          • jdaviescoates
            jdaviescoates @fbartels last edited by

            @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?

            1 Reply Last reply Reply Quote 0
            • fbartels
              fbartels App Dev last edited by

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

              1 Reply Last reply Reply Quote 1
              • N
                NCKNE last edited by

                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 Reply Quote 1
                • doodlemania2
                  doodlemania2 App Dev last edited by

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

                  jdaviescoates fbartels 2 Replies Last reply Reply Quote 1
                  • jdaviescoates
                    jdaviescoates @doodlemania2 last edited by

                    @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.

                    1 Reply Last reply Reply Quote 0
                    • fbartels
                      fbartels App Dev @doodlemania2 last edited by

                      @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 Reply Quote 1
                      • O
                        oj last edited by oj

                        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 Reply Quote 2
                        • doodlemania2
                          doodlemania2 App Dev last edited by

                          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 Reply Quote 4
                          • N
                            NCKNE last edited by

                            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 Reply Quote 2
                            • doodlemania2
                              doodlemania2 App Dev last edited by

                              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 🙂

                              jdaviescoates 1 Reply Last reply Reply Quote 1
                              • jdaviescoates
                                jdaviescoates @doodlemania2 last edited by

                                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!

                                1 Reply Last reply Reply Quote 0
                                • doodlemania2
                                  doodlemania2 App Dev last edited by

                                  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 Reply Quote 1
                                  • doodlemania2
                                    doodlemania2 App Dev last edited by

                                    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.

                                    mario 1 Reply Last reply Reply Quote 3
                                    • mario
                                      mario @doodlemania2 last edited by

                                      @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 Reply Quote 0
                                      • doodlemania2
                                        doodlemania2 App Dev last edited by doodlemania2

                                        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 Reply Quote 0
                                        • doodlemania2
                                          doodlemania2 App Dev last edited by

                                          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 Reply Quote 2
                                          • doodlemania2
                                            doodlemania2 App Dev last edited by

                                            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

                                            jdaviescoates 1 Reply Last reply Reply Quote 1
                                            • First post
                                              Last post