## Rasa X Compatibility

Rasa X version 0.33.0 or higher is only compatible with Rasa Open Source 2.x. If you are on Rasa Open Source 1.x, please check the [compatibility matrix](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/changelog/compatibility-matrix) for a compatible version.

##### License Terms

For the use of Rasa X, the [Rasa X License Terms](https://storage.googleapis.com/rasa-x-releases/rasa_x_ce_license_agreement.pdf) apply.
For the use of Rasa Enterprise, the [Rasa Enterprise License Terms](https://storage.googleapis.com/rasa-x-releases/rasa_x_ee_license_agreement.pdf) apply.

## Install and Run

You can install Rasa X on your local machine with:

```bash
pip3 install rasa-x --extra-index-url https://pypi.rasa.com/simple
```

From your Rasa assistant's project directory, start it with:

```bash
rasa x
```

This should open a browser tab to `http://localhost:5002`.

## Configure Settings

By default, Rasa X will auto-generate a password for you that will be available in the logs. You can set a specific password for Rasa X via the `RASA_X_PASSWORD` environment variable. For example:

```bash
export RASA_X_PASSWORD="my-secure-password"
rasa x
```

The following arguments can also be used to adapt the server settings:

```bash
usage: rasa x [-h] [-v] [-vv] [--quiet] [-m MODEL] [--data DATA] [-c CONFIG]
[-d DOMAIN] [--no-prompt] [--production]
[--rasa-x-port RASA_X_PORT] [--config-endpoint CONFIG_ENDPOINT]
[--log-file LOG_FILE] [--endpoints ENDPOINTS] [-p PORT]
[-t AUTH_TOKEN] [--cors [CORS [CORS ...]]] [--enable-api]
[--response-timeout RESPONSE_TIMEOUT]
[--remote-storage REMOTE_STORAGE]
[--ssl-certificate SSL_CERTIFICATE] [--ssl-keyfile SSL_KEYFILE]
[--ssl-ca-file SSL_CA_FILE] [--ssl-password SSL_PASSWORD]
[--credentials CREDENTIALS] [--connector CONNECTOR]
[--jwt-secret JWT_SECRET] [--jwt-method JWT_METHOD]
```

optional arguments:

- `-h`, `--help`  show this help message and exit
- `-m MODEL`, `--model MODEL`  Path to a trained Rasa model. If a directory is specified, it will use the latest model in this directory. (default: models)
- `--data DATA`  Path to the file or directory containing stories and Rasa NLU data. (default: data)
- `-c CONFIG`, `--config CONFIG`  The policy and NLU pipeline configuration of your bot. (default: config.yml)
- `-d DOMAIN`, `--domain DOMAIN`  Domain specification. This can be a single YAML file, or a directory that contains several files with domain specifications in it. (default: domain.yml)

... (additional arguments omitted)

## Share your bot in local mode

In order to [share your bot](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/0.39.x/user-guide/share-assistant#share-your-bot) you’ll need to make your locally running Rasa X server available to external traffic. You can do this using [ngrok](https://ngrok.com/product).

You can [download and install](https://ngrok.com/download) ngrok for free. Once it is installed, open a new terminal window and run:

```bash
ngrok http 5002
```

This will create a public HTTPS URL for your locally running Rasa X server, given that it is running at the default port. You should see something like this:

```plaintext
Session Status online
Session Expires 7 hours, 59 minutes
Version 2.3.35
Region United States (us)
Web Interface http://127.0.0.1:4041
Forwarding http://831897ef2f98.ngrok.io -> http://localhost:5002
Forwarding https://831897ef2f98.ngrok.io -> http://localhost:5002
```

To share your bot, replace the `http://localhost:5002` portion of your Share your Bot link with the https forwarding address from ngrok. Your link should then look something like this: `https://831897ef2f98.ngrok.io/guest/conversations/production/29fbd34c2a06481f`. From there you can follow the instructions for [sharing your bot](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/0.39.x/user-guide/share-assistant#share-your-bot) as usual.
