## 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
```

### Installing edge vs. stable

The above command will install the stable version of Rasa X. To install the latest edge version, use:

```bash
pip3 install rasa-x --pre --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"
```  
Then run:

```bash
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 [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 [DATA ...]`: Paths to the files or directories 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. The content of these files will be read and merged together. (default: domain.yml)

... (Other options summarized for brevity)

## Share your bot in local mode

In order to [share your bot](https://legacy-docs-rasa-x.rasa.com/docs/rasa-x/0.42.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. 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`.
