Jam is an Open Source alternative to Clubhouse, Twitter Spaces and similar audio spaces.
With Jam you can create Jams which are audio rooms that can be used for panel discussions, jam sessions, free flowing conversations, debates, theatre plays, musicals and more. The only limit is your imagination.

Best posts made by luckow
-
Jam - open source alternative to Clubhouse
-
Time for a break
Thank you for having me here. Here at the Cloudron Community. Today marks the beginning of the third snow in Berlin. I want to send you an impression of my day before Christmas. Have a nice time. See you soon
-
RE: What do you do?
First of all: Thank you for this thread. I like it
My name is Stephan Luckow and before I did "something with computers" I made a bet that I would be successful as a musician (playing bass guitar). But that was a dream in the mid 90s. Btw: this was our contribution to the European song contest in 1994 -> https://peertube.luckow.org/videos/watch/53b4c661-a308-44ab-9491-de6f14daa90b
In 1995 I founded my first Internet full-service agency in Berlin, and my whole business was based on open source software. Part of the proprietary software was downloaded from news servers. In 2006 I realized that giving back to the OSS communities is not only a return in software development. I'm not a developer, so I decided to help with other topics as well. In 2010 I took the position of president of the German Drupal association and in 2013 some people and I founded CMS Garden e. V. as an umbrella organization for the most active Open Source Content Management Systems.
Today I'm the managing director of the company for the development of things. A Berlin-based consulting & development company that supports clients in making decisions for their digital transformation and sovereignty.
We have learned in a customer project that there is Cloudron. In terms of content, we wanted to find out whether it is possible to address the SME market with software in which the system administrator is built-in. And because Cloudron exists, we decided to stop our own investments in the product, to change the process to promote the growth of Cloudron. -
featmap
Build products users really need.
Featmap is an open source user story mapping tool for product people to build, plan and communicate product backlogs. -
RE: BigBlueButton - web conferencing system for on-line learning
Hi,
from time to time there is an app request for jitsi & BigBlueButton here in the forum. I would like to throw my 2 cents into this discussion.
First: We need a turn server on port 443 and 80 to help people join conferences. There are so many stupid networks / firewalls that a turn server is mandatory. Good news: We have a turn server as an app on Cloudron. Maybe later, it's possible to configure this app.
Second: What is the background to this request? A video conference with friends? Say up to 10 people on the server? A combination of moodle and BigBlueButton for your local school? All my experience with video conferencing for larger groups brings me to the conclusion: forget these apps on Cloudron. They are hungry. In terms of RAM, CPU and bandwidth. The underlying software stack is real-time critical. Better use bare metal instead of cheap VMs. For schools, you need a cluster of BBB nodes and an upstream load balancer. Because of latency, you need a hosting provider close to most of the people using the video conference. For really huge conferences you need a dedicated 10 Gbit network. You need a lot of customisation under the hood. In short, to have a reliable infrastructure for videoconferencing, you need a lot of time to dig deep into the subject.
(My) conclusion: We have Kopano Meet as an app. Let's make this app better for our use case (having a self hosted videoconference for our family and friends meetings). We have Greenlight as a frontend for dedicated BigBlueButton infrastructure. We can use Moodle, Nextcloud and WordPress as alternative frontends for BBB servers. We have Grafana and Prometheus for the metrics of BBB servers. We can use Statping.
Good news is:
The installation process for a dedicated BBB server is painless.
https://github.com/bigbluebutton/bbb-installWait for the configurable turn app on Cloudron or install a coturn yourself.
- Click yourself a dedicated bare metal. Let's say https://www.hetzner.com/de/dedicated-rootserver/ax41-nvme
- Install ubuntu 16 on it.
- SSH into it
- wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -w -v xenial-22 -s bbb.example.com -e info@example.com -c <hostname>:<secret>
- Install Greenlight on Cloudron
- Take the output of bbb-conf --secret and put it into .env of Greenlight.
- Restart the Greenlight app.
- Happy videoconferencing with many users.
For a better understanding of "What's going on?" install https://github.com/greenstatic/bigbluebutton-exporter to your BBB instance and add Grafana and Prometheus to your Cloudron.
The basic installation of a dedicated Jitsi instance is also trouble-free.
https://jitsi.github.io/handbook/docs/devops-guide/devops-guide-quickstartSince my larger conferences rely on BigBlueButton, I didn't feel the need to dig deep into jitsi's scaling. That's why I've installed jitsi meet on cheap VMs for up to 30 users.
But if you want to go deeper into this topic, here is a link to a talk by a maintainer of jitsi meet -> https://fosdem.org/2021/schedule/event/jitsi_scaling/ -
RE: Jitsi Installation Recipe for >10 Participants?
Today I stumbled across https://github.com/switnet-ltd/quick-jibri-installer.
The basic installation was done in less than 25 minutes. After that I have a full Jitsi meeting with recordings, storage access to recordings via Nextcloud, Grafana for metrics, Etherpad for sharing documents and YouTube streaming.
The whole stack runs on a CPX31 Hetzner Cloud Vm for around 15€/M.
I have no idea how many people at a time. I also have no idea how easy it is to upgrade the whole machine.But my first reaction after the installation was: Wow. Well done.
-
n.eko - stream a desktop inside of a docker container
https://github.com/nurdism/neko (fork: https://github.com/m1k1o/neko/)
This app uses Web RTC to stream a desktop inside of a docker container, I made this because rabb.it went under and my internet can't handle streaming and discord keeps crashing when my friend attempts to. I just want to watch anime with my friends ლ(ಠ益ಠლ) so I started digging throughout the internet and found a few kinda clones, but none of them had the virtual browser, then I found Turtus and I was able to figure out the rest. This is by no means a fully featured clone of rabbit, it hs only one room. It's stateless, so no saved user names or passwords.
-
New default: Gravatar as an option in Cloudron user profiles
Every new Cloudron user without a custom profile picture has a Gravatar request by default. This is not nice and not GDPR-compliant. If you think we (as Cloudron users) need to rely on Gravatar, leave it in the settings, but as an option. A quick workaround might be to use the navbar-brand-icon as the default user profile image (because it's mandatory to select an image when switching from gravatar).
-
RE: Why Cloudron's Docker only? How about VM containers with generic Docker Compose scripts?s?
Oh nerds. A lot of technical thoughts
Please allow me: 2 steps back.
What is the intent of the original question? Is it a general frustration with the lack of time between an app request and a Cloudron app release (like a child waiting for Christmas)? Is the intent to have more things to play with or to compete with other apps in the same category? Is there a real need for a missing "business related" app?Are we really missing some applications? And if so, how could we get a clear overview of the missing categories? Do we really need a third or fourth web analytics or RSS reader app in the App Store? And if so, why? IMHO, the answer should not be: because we can.
How can we find out if an app from the app wish list is worth investing time to package it as a Cloudron app with all the benefits we need as a reliable app for our daily work?
To try out apps, I have a dedicated VPS for Docker containers. I usually follow the installation instructions in the Github repository and can usually try the app after a short time. My experience is: after a short time I run into some issues where I decide that reading the announcement and playing with the app contradicts my own expectations. But sometimes I like what I get. One of my recent discoveries was Gitpod. After spending more time with Gitpod, I realized that it's not a perfect fit for Cloudron because it's very dynamic (and resource hungry) when you share the new tool with your teammates. The same goes for BigBlueButton, which is on the app wish list, but it's not worth investing time in packaging.
For me, Cloudron massively reduces my personal time spent on business critical applications. Kind of a "fire and forget." To be fair, most of the time I spend on new applications is configuring the tool, documenting it, and explaining it to my teammates. Once that's done, I forget about it until the next major release comes out, and I have to invest time to get an idea of the new features. But all that crap about updates, backups, reliability .... That's why I decided to subscribe (to pay people for their work).
Have you ever looked into a random docker.hub image? Have you ever looked into updating a random image? In my opinion, sometimes things go wrong, and sometimes they don't. So I know that mission-critical apps take time to understand, plan, and maintain. With that in mind, I've decided not to put some "cool new kid" on the app wish list. I invest time to get an idea of whether the app is worth investing time to package as a Cloudron app.
Maybe we should create a new forum category "cool new kids" where we can showcase new apps we've heard about. From there, we can invest some time (as a community) to find out if the app is worth investing time to package as a business critical app (aka Cloudron app)
Latest posts made by luckow
-
RE: Merging mulitple Cloudrons in to one big new one?
@jdaviescoates It's doable, but it ends up being kind of monkey business. My first question is: why? It feels much better to have more than one Cloudron, because the moment you reboot (and your entire digital life depends on one instance) ... That's the reason I wrote this blog post -> https://blog.cloudron.io/ldap2ldap/
But back to your question. Moving applications between different instances is a piece of cake. If you don't use the LDAP feature on every Cloudron instance, I don't think it's a problem, it's just a matter of time.
The moment you use LDAP on each instance separately, the real problem is handling the app-internal UUIDs. Having a Jane Doe on each Cloudron instance does not solve the problem of the UUID of Jane Doe on Cloudron instance 1 (in, say, Wekan) and the Jane on Cloudron instance 2. For the Wekan app, these are two different users (and you need to match the "real" Jane to the other user).In one of the recent Cloudron updates, LDAP user takeover was introduced. I never had the time to test all aspects. But maybe this is an option.
Connect all Cloudron instances to your new, large instance via the external LDAP feature and "take over" the users from the "old" instances. I have no idea what happens if there is a Jane Doe on each individual instance and what happens when you transfer them over to the large instance.
In addition to these issues, you need to explain the new infrastructure to your users. In all my previous migrations, this took the most time.
-
RE: FYI size of n-gram data sets
@RazielKanos NGRAM_DATASET=("en;de")
works for me.
Sorry. Not true -
RE: java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en
My mistake. I restarted the app too early.
After the full download of almost 8 GB EN n-gram dataset, you need to give your Cloudron instance enough time to unpack and move the files to (by default) /app/data/ngram/en.In my case, it took more than 15 minutes to meet the requirements.
The moment you restarted the app too early, the zip file was not unzipped completely. In this case the error occurs and you have to start again from the beginning.Search your logs for
===> en ngram dataset has been installed.
-
RE: java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en
@nebulon yesterday I followed the documentation from here https://docs.cloudron.io/apps/languagetool/.
By the way: Is there a hint if it is important to comment outNGRAM_DATASET_PATH
? In my case I only commented outNGRAM_DATASET=("en")
.And yes: it is a permanent error. Every time I restarted the box, the same error occurred. Fun fact: the moment I comment
NGRAM_DATASET=("en")
again and restart the app, the error still occurs.Q: is there an option to "redownload"?
-
java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en
The moment you try to perform a language check after activating the en n-gram data set:
Jan 27 11:49:49 2023-01-27 10:49:49 +0000 Starting LanguageTool 6.0 (build date: 2022-12-29 12:13:11 +0000, e44dbb0) server on http://localhost:8010... Jan 27 11:49:49 2023-01-27 10:49:49 +0000 Server started Jan 27 11:49:50 172.18.0.1 - - [27/Jan/2023:10:49:50 +0000] "GET / HTTP/1.1" 200 810 "-" "Mozilla (CloudronHealth)" Jan 27 11:50:00 172.18.0.1 - - [27/Jan/2023:10:50:00 +0000] "GET / HTTP/1.1" 200 810 "-" "Mozilla (CloudronHealth)" Jan 27 11:50:10 172.18.0.1 - - [27/Jan/2023:10:50:10 +0000] "GET / HTTP/1.1" 200 810 "-" "Mozilla (CloudronHealth)" Jan 27 11:50:12 2023-01-27 10:50:12.527 +0000 INFO org.languagetool.server.LanguageToolHttpHandler Handling POST /v2/check Jan 27 11:50:12 2023-01-27 10:50:12.527 +0000 INFO org.languagetool.server.LanguageToolHttpHandler Handling POST /v2/check Jan 27 11:50:15 2023-01-27 10:50:15.099 +0000 ERROR org.languagetool.server.LanguageToolHttpHandler An error has occurred: 'java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en, detected: en-US', sending HTTP code 500. Access from 0:0:0:0:0:0:0:1, HTTP user agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/109.0, User agent param: webextension-firefox-ng, v: 6.0.1, Referrer: null, language: en-gb, h: 2, r: 2, time: 2589m: TEXTLEVEL_ONLY, l: PICKY, iID: 94148:1674816428889, Stacktrace follows:java.lang.RuntimeException: java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en, detected: en-US Jan 27 11:50:15 at org.languagetool.server.TextChecker.checkText(TextChecker.java:507) Jan 27 11:50:15 at org.languagetool.server.ApiV2.handleCheckRequest(ApiV2.java:172) Jan 27 11:50:15 at org.languagetool.server.ApiV2.handleRequest(ApiV2.java:83) Jan 27 11:50:15 at org.languagetool.server.LanguageToolHttpHandler.handle(LanguageToolHttpHandler.java:185) Jan 27 11:50:15 at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) Jan 27 11:50:15 at jdk.httpserver/sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:82) Jan 27 11:50:15 at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:80) Jan 27 11:50:15 at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:848) Jan 27 11:50:15 at jdk.httpserver/com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:77) Jan 27 11:50:15 at jdk.httpserver/sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:817) Jan 27 11:50:15 at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) Jan 27 11:50:15 at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) Jan 27 11:50:15 at java.base/java.lang.Thread.run(Thread.java:829) Jan 27 11:50:15 Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en Jan 27 11:50:15 at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) Jan 27 11:50:15 at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) Jan 27 11:50:15 at org.languagetool.server.TextChecker.checkText(TextChecker.java:489) Jan 27 11:50:15 ... 12 more Jan 27 11:50:15 Caused by: java.lang.RuntimeException: Expected at least '1grams', '2grams', and '3grams' sub directories but only got [3grams] in /app/data/ngrams/en Jan 27 11:50:15 at org.languagetool.languagemodel.LuceneSingleIndexLanguageModel.validateDirectory(LuceneSingleIndexLanguageModel.java:72) Jan 27 11:50:15 at org.languagetool.languagemodel.LuceneSingleIndexLanguageModel.doValidateDirectory(LuceneSingleIndexLanguageModel.java:109)
-
RE: Jellyfin Play Issues
@privsec Maybe it's the same issue: from time to time there is no way to see anything with the iOS yellyfin app. That's when I kill the iOS app and restart. Boom. It works again.
-
RE: Jellyfin Play Issues
@girish said in Jellyfin Play Issues:
Works on my server (tm).
-
RE: How to remove "Konto erstellen" / "Register"
@Kubernetes Imho no chance. The entire web-vault directory is on the read-only fs (app/code/web-vault). If there is no setting for hiding this link, no chance without repacking vaultwarden.