Mornin.fm - instant audio conferencing service
-
Very cool
-
Well i'm part of the way there:
Challenges:
- Its using Node 10 and refuses to build using Node 12, which the base image uses.
- Porting to node 12 requires so much fuckery because of how they decided to use vue.
- Base image 1.0 uses node 8... I was hoping it would be my saviour
- I cant make a repo on the cloudron git so I have it here: https://git.lahijiapps.dev/atrilahiji/morninfm-cloudron
-
@atrilahiji I have given it a try too, and I must admit it is indeed quite confusing... I have never seen something break in this way with a new node version.
However, you can quite easily install another node version in the app container, take a look at https://git.cloudron.io/mehdi/river/-/blob/master/Dockerfile#L22
-
@atrilahiji I have a Dockerfile with a working build
FROM cloudron/base:2.0.0 ARG MORNIN_FM_VERSION="master" ARG NODE_VERSION="10.22.1" RUN mkdir -p /usr/local/node-${NODE_VERSION} RUN curl -L "https://nodejs.org/download/release/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.gz" \ | tar -xz --strip-components=1 -C /usr/local/node-${NODE_VERSION} ENV PATH=/usr/local/node-${NODE_VERSION}/bin:$PATH RUN mkdir -p /app/code/morninfm # copy code ADD start.sh /app/code/ RUN curl -L "https://github.com/fox-one/mornin.fm/archive/${MORNIN_FM_VERSION}.tar.gz" \ | tar -xz --strip-components=1 -C /app/code/morninfm WORKDIR /app/code/morninfm # install packages RUN npm install yarn -g RUN yarn RUN yarn build CMD [ "/app/code/start.sh" ]
This file does not rely on "forking" the original app, but rather downloads its code from the upstream github repo, to make updates easier.
Also, I have only fixed the build, I have not even tried starting the app ^^
-
I got it running here: https://mornin.lahijiapps.dev/
Problem is it seems people dont end up in the same sessions even when joining with the same room id.
New code here: https://git.lahijiapps.dev/atrilahiji/morninfm-cloudron
-
Great to see this coming together, thanks for your efforts @atrilahiji @mehdi !
-
@jdaviescoates Sure
However, I feel I have to mention that this app uses a very non-standard build system, that has not been maintained for 2+ years.
So, while the app itself looks sleek and modern, I must say I am not very optimistic about its future.
-
@mehdi said in Mornin.fm - instant audio conferencing service:
However, I feel I have to mention that this app uses a very non-standard build system, that has not been maintained for 2+ years.
So, while the app itself looks sleek and modern, I must say I am not very optimistic about its future.
Could that be because the folks at Mixin - who had made mornin.fm - have now replaced it with Kraken (https://dev.to/cedricfung/webrtc-audio-conferencing-architecture-15am)?
https://github.com/MixinNetwork/kraken.fm
https://kraken.fm/ -
@oj It seems both of these are front-ends for the same back-end audio-conferencing server, with Mornin being a little more feature-rich, and Kraken being more minimalistic. Not 100% sure though, it's really not very clear.
In any case, they both seem more like a fun coding experiment someone did over a week-end, more than apps meant to be used in production...
-
Hi @mehdi, I was influenced by three of the developer's blog posts:
a) here, he explains his motivation for developing an audio-only-SFU based on Pion (i.e. Kraken) after having examined Janus, Jitsi, Mediasoup; and why he abandoned the mornin.fm approach
b) here he spells out how he used Kraken to roll out the E2EE group audio call feature (using Signal Protocol + Chrome's WebRTC Insertable Streams) in his Open Source Mixin Messenger
c) and finally, here, where he explains how to deploy the Kraken Group Audio Conferencing Service and points out that "A self hosted group audio conferencing service will provide good privacy because the data never leaves your servers, and you will get more excellent performance compared to shared services like Zoom, since you could choose the servers near the participants, and make use of all the system resources and bandwidth."
Therefore, I felt that Kraken.fm (even if it is not E2EE) would make a fast, private audio conferencing service for the community on my Cloudron (eg. for large 75+ person townhalls).
I already run a large, separate Jitsi server - and that is where these private, community audio-events are held today - but this seems to be a more elegant solution!
Finally, it uses the same stack as peercalls.com ...which is why I had put it on that thread.
Cheers!
-
@atrilahiji said in Mornin.fm - instant audio conferencing service:
@mehdi oh nice! How does one get access to fork and create repos on the cloudron GitLab? I was busy today but I can play around with this more tomorrow.
I have given you access. We keep the initial fork count to 0, because we get too much spam from GitLab and I haven't figured how to keep this spam low
-
I'm a bit stuck trying to get this to work. I've pushed my cleaned up code over to the cloudron git here if anyone would like to try their hand at getting people calls working. Right now, two people can use the same room code but they don't see eachother. Not sure what is going wrong here and honestly I don't have the willpower to keep trying to get this clunker to work. I'll leave the repo for anyone else who wants to try.
Repo: https://git.cloudron.io/AtriLahiji/morninfm
My demo: https://mornin.lahijiapps.dev/