---
# System prepended metadata

title: ':memo: Running multiple instances at the same time'

---

# :memo: Running multiple instances at the same time

> This guide may be relevant to all OS but only has specific instructions for: 
> Linux :no_entry:; Mac :white_check_mark:; Windows :no_entry:

## Summary

During testing it may be beneficial to be able to compare the application behaviour accross multiple builds at the same time. This page describes how to do that.

## Instructions

1. Create a folder where you will keep and run the builds from
   1. For example, if you want to create this in your home folder

```
$ mkdir ~/status-instances
$ mkdir ~/status-instances/builds
```

2. Download the dmg file for the build you want to run from github. The link will be in a table updated by Jenkins with the latest builds
3. Create a folder for the build inside the folder
   1. `builds$ mkdir [pr number or other reference]`
4. Install the app to that new folder by opening the dmg and dragging the application over. Optionally, rename the app for easier reference.
5. Right click on the application and click on open
6. On the security dialog that opens, click on open
7. Close the application after it launches
8. After this, depending on your test, you may need to delete the `data` folder from `~/Library/Application Support/Status` 
9. From the terminal navigate to the the MacOS subfolder of the app. `$ cd ~/status-desktop/builds/[buildName].app/Contents/MacOS`
10. Start the application by executing command - note port number is linked to account at time of creation and data folder for each instance must be different.   
`$ ./nim_status_client --datadir=~/status-instances/data/[buildName] --LOG_LEVEL=DEBUG`


      1. A new data folder will be created inside the path specified after `--datadir:` for the corresponding build.
11. From a new terminal, repeat the steps as required to start 2 or more instances.



## Notes

### Data file locations

| Install type                   | Data file                                                    |
| ------------------------------ | ------------------------------------------------------------ |
| Applications Folder            | `~/Library/Application Support/Status/data`                  |
| Local build via git clone/pull | `[parent folder]/status-desktop/Status/data`                 |
| Started from terminal          | Path specified at launch from terminal `./nim_status_client --datadir=~/status-desktop/data/[buildName]` |

### Running unsigned apps from the command line (Gatekeeper config)

It is possible to manually disable the checks for app signing/notarisation from the terminal or to create some kind of allow list. Do remember to enable Gatekeeper again for security if trying this. More info can be found here: http://www.theinstructional.com/guides/gatekeeper-fundamentals-part-2

### Reminder about the data folder

It will not be possible to recover any accounts used during a session if the data folder is deleted before either:

1. Backing up the seed phrase
2. Backing up the data folder

