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


  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
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

Cloudron Forum

Apps | Demo | Docs | Install

Nextcloud Talk high-performance back-end

Scheduled Pinned Locked Moved App Wishlist
nextcloudnextcloud talkvideo
46 Posts 10 Posters 4.2k Views
    • 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
    17
  • 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
  • fbartelsF Offline
    fbartelsF Offline
    fbartels App Dev
    replied to NCKNE 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
  • jdaviescoatesJ Offline
    jdaviescoatesJ Offline
    jdaviescoates
    replied to fbartels 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
  • jdaviescoatesJ Offline
    jdaviescoatesJ Offline
    jdaviescoates
    replied to doodlemania2 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
  • fbartelsF Offline
    fbartelsF Offline
    fbartels App Dev
    replied to doodlemania2 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
  • jdaviescoatesJ Offline
    jdaviescoatesJ Offline
    jdaviescoates
    replied to doodlemania2 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
  • marioM Offline
    marioM Offline
    mario App Dev
    replied to doodlemania2 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

  • Login

  • Don't have an account? Register

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

  • Don't have an account? Register

  • Login or register to search.