The Multi-app plugin allows you to dynamically create and manage multiple independent applications without separate deployments. Each sub-app is a completely independent instance with its own database, plugins, and configuration.
The Multi-app plugin itself does not provide user sharing capabilities.
If you need to share users between multiple apps, you can use it in conjunction with the Authentication plugin.
In the plugin manager, find the Multi-app plugin and enable it.

In the system settings menu, click "Multi-app" to enter the multi-app management page:

Click the "Add New" button to create a new sub-app:

Click the Start button to start the sub-app;
If “Start on first visit” was checked during creation, it will start automatically on the first visit.
Click the View button to open the sub-app in a new tab.

In the list, you can view the memory and CPU usage of each application.

Click the Logs button to view the sub-app's runtime logs.
If the sub-app is inaccessible after starting (e.g., due to a corrupted database), you can use the logs to troubleshoot.

Click the Delete button to remove the sub-app.
When deleting, you can choose whether to delete the database as well. Please proceed with caution, as this action is irreversible.
By default, sub-apps are accessed using /_app/:appName/admin/, for example:
You can also configure an independent subdomain for the sub-app. You will need to resolve the domain to the current IP, and if you are using Nginx, you also need to add the domain to the Nginx configuration.
In the project root directory, you can use the command line to manage sub-app instances via PM2:
Go to the old multi-app management page and click the Migrate data to new multi-app button to migrate data.

Sub-apps can use the same plugins as the main app (including versions), but they can be configured and used independently.
Sub-apps can be configured with independent databases. If you want to share data between apps, you can do so through external data sources.
Currently, data backups in the main app do not include sub-app data (only basic sub-app information). You need to manually back up and migrate data within each sub-app.
The version of a sub-app will automatically be upgraded along with the main app, ensuring version consistency between the main and sub-apps.
The resource consumption of each sub-app is basically the same as the main app. Currently, a single application uses about 500-600MB of memory.