doc/pages/02.contribute/04.packaging_apps/10.multi_instance/packaging_apps_multiinstance.md

21 lines
1 KiB
Markdown
Raw Normal View History

2020-03-28 06:54:10 +01:00
<a class="btn btn-lg btn-default" href="/packaging_apps">Application packaging</a>
2016-02-24 23:30:16 +01:00
### Multi-instance
2016-02-25 13:13:38 +01:00
Multi-instance is application capacity to be installed several times.
2016-02-24 23:30:16 +01:00
#### Scripts
2020-09-30 18:19:44 +02:00
When YunoHost installs the application, it passes `$YNH_APP_INSTANCE_NAME` var to the script, set to value `id__n` with the application `id` coming from the manifest and `n` being an integer incremented each time a new instance of the application is installed.
2016-02-24 23:30:16 +01:00
2020-09-15 13:57:31 +02:00
**E.g.** in the Roundcube script, database is called `roundcube`, the install directory `roundcube` and the [NGINX configuration](/packaging_apps_nginx_conf) `roundcube`. This way, the second instance of Roundcube will not conflict with the first one, and will be installed in the `roundcube__2` database, in the `roundcube__2`directory, and with the `roundcube__2` NGINX configuration.
2016-02-24 23:30:16 +01:00
Retrieve app identifier (including the multi-instance id):
2016-02-24 23:30:16 +01:00
```bash
app=$YNH_APP_INSTANCE_NAME
2016-02-24 23:30:16 +01:00
```
#### Manifest
2020-03-28 06:54:10 +01:00
Set `multi_instance` variable to `true` in the [manifest](/packaging_apps_manifest):
2016-02-24 23:30:16 +01:00
```json
"multi_instance": true,
```