Practical limit of installed apps
-
I am just finding this topic (which is timely as I am about to architect Cloudron for my users). @girish What is the practical limit of installed apps within one Cloudron? If I had 300 users (300 domains) and each one had an instance of ListMonk (for example), that would total 300 apps. A couple more apps (e.g. Roundcube or Sogo, VaultWarden) per domain and I am over a thousand. I can increase the (Hetzner) server easily if more CPU/RAM/Disk are needed. Secondly, how would I upgrade an app installed across 300 domains? I might upgrade one of two domains manually at first to test the upgrade, but it would be painful to manually upgrade 298 domains. Is it possible to use n8n to perform an app upgrade via the Cloudron API? Then providing 298 requests to n8n to automate is fine.
-
@crazybrad App upgrades are automatic. However there are times that apps need to be manually upgraded due to platform or app architecture & upgrade/migration changes.
If you want to do additional automated things there is an API which N8N can do anything you can do manually in the UI.
I run ~100 apps, and doing certain clickety repetitive things things in the UI gets old after 30 apps. So automation is a must.
-
With automatic updates, apps should update automatically. But practically, I recommend splitting so many apps over a few cloudrons. Don't want everything going down if one server goes down. Installing many apps always comes with instability - this goes for with or without cloudron...
-
@robi That is really helpful, thx. Are you using N8N for your automation or something else? We have used Ansible for several platforms, but N8N has certain appeal in this situation. @girish Your counsel on this is appreciated. I am trying to visualize how I would split the load. Dividing users into random Cloudrons creates a support headache. Not to mention tripling or quadrupling the cost. I wonder if hosting a multi-tenant email list application (something different than ListMonk) on a single server is a better service model. One type of load for one server. And then perhaps using Cloudron strictly for email. I really like the integration and automatic DNS record creation, especially for applications requiring email in this DKIM/DMARC world we are living in.
If someone has any other ideas on how to handle a large number of users with multi-tenant requirements serving a few applications, please add your thoughts...
-
@crazybrad said in Practical limit of installed apps:
@robi That is really helpful, thx. Are you using N8N for your automation or something else?
Not at the moment, but I do want to use N8N for App migration across Cloudrons.
-
@crazybrad many questions that are much easier to answer with the "what do I need if" than the "what if, what if" questions.
I understand, you may not want to totally reveal what you want to do specifically. As far as I can understand of what you want to accomplish, for my part, what you very likely need then is MailWizz (google). Email Marketing SaaS.
On the other hand, besides the fact that you do not want to have all eggs in the sane basket in case of catastrophe, as suggested by @girish, there should be no problem to host 300 and even more domains on a single Cloudron, only it depends on the type of apps and server.
And even 300 Listmonk copies shouldn't be too much of an issue since 1) not everybody will use at the same time and this app does not get traffic, and 2) the each email apps use their own SMTP service, not loading your server's resources.
If I'm not mistaken, theoretically, all users could be created on one server to start with and from there be provided access to apps on other servers (hear Cloudron instances) through LDAP.
Hope that helps.
P.S. MailWizz runs perfectly well on Cloudron on a LAMP instance. -
@robi Interesting. I didn't realize you could migrate an app from one Cloudron to another. I can see that I have a lot to learn. Your comment and @girish suggestion of using multiple Cloudrons is leading me to experiment with more than one Cloudron to learn by doing. FWIW, my initial test of N8N on automation was positive. The interesting challenge is where to store sensitive information (e.g. API keys and secrets). I think once I better understand how to configure apps, Cloudrons, and domains, the answer will be straightforward.
-
@micmc Thank you for your insightful response. My goal is to provide various email services (Inbox, SMTP using a transactional email provider like Postmark) and email marketing services (email list management) as an add-on to my core service offering. You are correct that if I have 100 users, not all of them will send out email blasts at the same time. Of course last month during Christmas holidays will be a busy time for this, so peak usage could be an issue. My users are non-technical, so simple is very important in all aspects. Due to the number of potential users/domains, automation is essential. MailWizz looks like a possible solution, thank you. I will dig into this in more detail. It is good to know that it runs well for you as a LAMP application on Cloudron. The $275 cost (I took a quick look) for an extended license is OK. Another email marketing platform I discovered is Keila (https://www.keila.io). What is not obvious is that it appears to have some multi-tenant capability. The way a new user is created is a little strange. That being said, it may need some more API routes to accomplish what I need. The benefit of being open source is that I can contribute those and hopefully that will be accepted into a future release. @robi has confirmed what I already suspected - without automation, my "clicker will get very sore". So any solution will require a solid API so that configuration can be performed with automation. ListMonk, MailWizz, Keila are all possible solutions, but I need to figure out the best/quickest/lowest cost path to getting there. Unfortunately, no email list application appears to be ready "out-of-the-box" for my needs, but perhaps MailWizz will be the answer. Adding to my challenge is the ultimate goal of having SSO - using my current platform as an OIDC/LDAP credential provider to other services. Big goals. Trying to get there...
-
@crazybrad said in Practical limit of installed apps:
The interesting challenge is where to store sensitive information (e.g. API keys and secrets).
For that we have the Vault Warden App.
-
@robi I think Vault may be what I was looking for. If I understand it correctly, Vault is an open source community edition of Hashicorp's Vault. I've never used it, but it appears to allow a more controlled access to API keys and secrets for server-based processes. VaultWarden looks like it is comparable to LastPass for storing user passwords and secrets, which could include API keys and secrets. Both are useful in some overlapping and some different ways. But if you are using VaultWarden for programmatic access to API keys and secrets, I would be interested in learning how you do that.
-
@crazybrad said in Practical limit of installed apps:
Another email marketing platform I discovered is Keila
That is actually a simple email newsletter platform, and afaics there's no automation, not even an autoresponder function, yet, I guess. Looks interesting though. And it installs with Docker so it should be ready to be packaged for Cloudron, however it's very basic. Not even comparable with ListMonk already...
-
G girish marked this topic as a question on
-
G girish has marked this topic as solved on