# Running the Action Server

There are two ways to run the action server, depending on whether you are using an environment with `rasa` installed or not:

If `rasa` is installed, you can run the action server using a `rasa` command:

```
rasa run actions
```

Alternatively, you can make your assistant listen on a specific address using the `SANIC_HOST` environment variable:

```
SANIC_HOST=192.168.69.150 rasa run actions
```

If `rasa` is not installed, you can run the action server directly as a python module:

```
python -m rasa_sdk --actions actions
```

Running the action server directly as a python module allows for `SANIC_HOST` too:

```
SANIC_HOST=192.168.69.150 python -m rasa_sdk --actions actions
```

Using the command above, `rasa_sdk` will expect to find your actions in a file called `actions.py` or in a package directory called `actions`. You can specify a different actions module or package with the `--actions` flag.

## Options for Running the Action Server

The full list of options for running the action server with either command is:

```
usage: __main__.py [-h] [-p PORT] [--cors [CORS ...]] [--actions ACTIONS]
                    [--ssl-keyfile SSL_KEYFILE]
                    [--ssl-certificate SSL_CERTIFICATE]
                    [--ssl-password SSL_PASSWORD] [--auto-reload] [-v] [-vv]
                    [--quiet] [--log-file LOG_FILE]
                    [--logging-config_file LOGGING_CONFIG_FILE]
```

### Options:

- `-h`, `--help`       Show this help message and exit
- `-p PORT`, `--port PORT`  Port to run the server at
- `--cors [CORS ...]`  Enable CORS for the passed origin. Use `*` to whitelist all origins
- `--actions ACTIONS`   Name of action package to be loaded
- `--ssl-keyfile SSL_KEYFILE`  Set the SSL certificate to create a TLS secured server.
- `--ssl-certificate SSL_CERTIFICATE`  Set the SSL certificate to create a TLS secured server.
- `--ssl-password SSL_PASSWORD`  If your ssl-keyfile is protected by a password, specify it using this parameter.
- `--auto-reload` Enable auto-reloading of modules containing Action subclasses.
- `-v`, `--verbose`  Be verbose. Sets logging level to INFO
- `-vv`, `--debug`  Print lots of debugging statements. Sets logging level to DEBUG
- `--quiet`  Be quiet! Sets logging level to WARNING
- `--log-file LOG_FILE`  Store logs in specified file.
- `--logging-config_file LOGGING_CONFIG_FILE`  If set, the name of the logging configuration file will be set to the given name.
