OpenSlides - digital motion and assembly system
-
OpenSlides is the all-in-one solution for running your plenary meetings and conferences. Show the current presentation on the main screen, while you show the agenda, motions, list of speakers on others. Working on elections and documents in parallel with all participants. Web-based and always up-to-date.
https://openslides.com/en
https://github.com/OpenSlides/OpenSlides -
@jimcavoli excellent! Hopefully before long we'll be able to have large gatherings again! (not holding my breath though - here in the we UK can't even sort a decent test and trace system despite having blown £12 billion on one!)
-
Happy to announce that this is running on my testbed server presently, and fairly responsively after a slight memory bump (256M just isn't enough to keep all the workers alive, even for one user). Going to try toggling on some of the other optional bits, but then this should be near ready for the
unstable
channel. User management is all in-app for better or worse, but that's an upstream limitation (only supports SAML optionally to act as an external IdP). -
@jimcavoli Very cool. Where is the repo? Also, does the app work well?
-
@girish Works really well; repo forthcoming. I'm still working locally. The main trick just seems to be setting a reasonable floor for the memory limit; I think it's going to be 768M or so as a minimum to ensure the workers all stay up and responsive for a reasonable handful of connections. It makes heavy use of web sockets so it's a hair resource intensive, but given the nature of it, it shouldn't be a big deal for folks to deploy, test, scale up temporarily for an event, and scale back or remove after it's done. The app is rather specifically designed that each installation is one event, something they may change in the future, but for now, really makes running it on Cloudron so much more sensible than any other methodology. (their documentation on how to run it is garbage, basically though; really pushing the hosted version with the dearth of docs)
I'll just finish a little more testing, especially around file uploads and media handling, tonight, and that repo will be linked here following.
-
Repo with initial packaging: https://git.cloudron.io/jimcavoli/openslides-app
I'd regard this as pretty ready to go at this point - all packaging choices were in line with the production configurations recommended by the project. I've tested pretty much everything except SAML manually. User management is independent for the time being as described previously. Also notable is that after some testing, I found
524288000
left enough headroom as a memoryLimit floor that the app was usable without constant restarts for light duty (not going to service a 1000 person assembly, probably, but fine for prepping an event and then deciding how to scale up from there). Other notes are in the README of the packaging repo. Also recommend building with buildkit turned on if you don't normally - the JS compilation takes a short eternity, but the Dockerfile takes pretty good advantage of buildkit multistage builds for parallelizing as well as limiting bloat in the final container. -
@jimcavoli awesome, thanks! will take a look next week.
Marked this as wip.
-
@jimcavoli Not lost It's marked as https://forum.cloudron.io/tags/wip . But yes, now that we got Cloudron 6 out of the day (save the announcements), we will have time to push these out.
-
The build currently fails
Step 6/32 : RUN mkdir -p /app/{src,build} && curl -L https://github.com/OpenSlides/OpenSlides/archive/${OPENSLIDES_VERSION}.tar.gz | tar zxf - --strip-components 1 -C /app/src && chown -R cloudron:cloudron /app/src ---> Running in cb29f0b4fa6c % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 9 100 9 0 0 121 0 --:--:-- --:--:-- --:--:-- 121 gzip: stdin: not in gzip format tar: Child returned status 1 tar: Error is not recoverable: exiting now The command '/bin/bash -c mkdir -p /app/{src,build} && curl -L https://github.com/OpenSlides/OpenSlides/archive/${OPENSLIDES_VERSION}.tar.gz | tar zxf - --strip-components 1 -C /app/src && chown -R cloudron:cloudron /app/src' returned a non-zero code: 2 Failed to build app. See log output above.
-
Oh, it seems the ARG has to be added for each build stage (don't have much experience with these multi-stage builds).
-
Works after that moving the VERSION arg down. Will get it published tomorrow.
-
@girish Weird. FWIW, I run with
DOCKER_BUILDKIT=1
on all the time - https://docs.docker.com/develop/develop-images/build_enhancements/ for more on that particular feature. Glad you got it sorted and we can get this app out there! -
@yusf I agree. Unfortunately it only supports SAML for SSO so far. Could send a feature request upstream. I've also got a partially-implemented packaging of the Shibboleth IdP for Cloudron, but that's a little stalled while I work out how to deal with some of its idiosyncrasies