Our current setup had a mailbox allocated for an app during app install (into the mailboxes table). This has many issues: * When set to a custom mailbox location, there was no way to access this mailbox even via IMAP. Even when using app credentials, we cannot use IMAP since the ldap logic was testing on the addon type (most of our apps only use sendmail addon and thus cannot recvmail). * The mailboxes table was being used to add hidden 'app' type entries. This made it very hard for the user to understand why a mailbox conflicts. For example, if you set an app to use custom mailbox 'blog', this is hidden from all views. The solution is to let an app send email as whatever mailbox name is allocated to it (which we now track in the apps table. the default is in the db already so that REST response contains it). When not using Cloudron email, it will just send mail as that mailbox and the auth checks the "app password" in the addons table. Any replies to that mailbox will end up in the domain's mail server (not our problem). When using cloudron email, the app can send mail like above. Any responses will not end anywhere and bounce since there is no 'mailbox'. This is the expected behavior. If user wants to access this mailbox name, he can create a concrete mailbox and set himself as owner OR set this as an alias. For apps using the recvmail addon, the workflow is to actually create a mailbox at some point. Currently, we have no UI for this 'flow'. It's fine because we have only meemo using it. Intuitive much!
Cloudron
Cloudron is the best way to run apps on your server.
Web applications like email, contacts, blog, chat are the backbone of the modern internet. Yet, we live in a world where hosting these essential applications is a complex task.
We are building the ultimate platform for self-hosting web apps. The Cloudron allows anyone to effortlessly host web applications on their server on their own terms.
Features
-
Single click install for apps. Check out the App Store.
-
Per-app encrypted backups and restores.
-
App updates delivered via the App Store.
-
Secure - Cloudron manages the firewall. All apps are secured with HTTPS. Certificates are installed and renewed automatically.
-
Centralized User & Group management. Control who can access which app.
-
Single Sign On. Use same credentials across all apps.
-
Automatic updates for the Cloudron platform.
-
Trivially migrate to another server keeping your apps and data (for example, switch your infrastructure provider or move to a bigger server).
-
Comprehensive REST API.
-
CLI to configure apps.
-
Alerts, audit logs, graphs, dns management ... and much more
Demo
Try our demo at https://my-demo.cloudron.me (username: cloudron password: cloudron).
Installing
You can install the Cloudron platform on your own server or get a managed server from cloudron.io. In either case, the Cloudron platform will keep your server and apps up-to-date and secure.
Note: This repo is a small part of what gets installed on your server - there is the dashboard, database addons, graph container, base image etc. Cloudron also relies on external services such as the App Store for apps to be installed. As such, don't clone this repo and npm install and expect something to work.
Documentation
Related repos
The base image repo is the parent image of all the containers in the Cloudron.