> ## Documentation Index
> Fetch the complete documentation index at: https://rasa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Using Docker

> Run Rasa locally with Docker

The Rasa Pro Docker image is available on [Docker Hub](https://hub.docker.com/r/rasa/rasa-pro/tags) as `rasa/rasa-pro`.

<Note>
  In the commands below, replace `RASAVERSION` with your desired version of Rasa Pro. To find
  the latest version of Rasa Pro, see the [Changelog](/docs/reference/changelogs/rasa-pro-changelog).
</Note>

To pull the image, run:

```bash theme={null}
docker pull rasa/rasa-pro:RASAVERSION
```

## Optional Dependencies (Extras)

Rasa Pro supports optional dependencies through "extras":

* **`nlu`**: Dependencies required for NLU components
* **`channels`**: Dependencies required for channel connectors
* **`full`**: Complete set of all optional dependencies

By default, the Rasa Pro Docker image already contains the `nlu` and `channels` dependencies.

### Extending the Docker Image

To extend the Docker image with optional dependencies that are not already included in the default image, create a custom Dockerfile:

```dockerfile theme={null}
# Extend the official Rasa Pro image
FROM rasa/rasa-pro:RASAVERSION

# Install all optional dependencies
RUN pip install rasa[full]

# Alternatively, install individual optional packages rather than all optional dependencies comprised in `full`
RUN pip install rasa[spacy]
```

Build and run your custom image:

```bash theme={null}
# Build the custom image
docker build -t my-custom-rasa:latest .

# Run the custom image
docker run -v ./:/app \
            -e RASA_LICENSE=${RASA_LICENSE} \
            -p 5005:5005 \
            my-custom-rasa:latest \
            run
```

## Licensing

As explained in [Licensing](/docs/pro/installation/licensing), at runtime you must provide the license key in the
environment variable `RASA_LICENSE`.

After you defined the environment variable on your system, you can pass it into the docker container
via the `-e` parameter, for example:

```bash theme={null}
# execute `rasa init` via docker
docker run -v ./:/app \
            -e RASA_LICENSE=${RASA_LICENSE} \
            rasa/rasa-pro:RASAVERSION \
            init --no-prompt --template tutorial
```


## Related topics

- [Docker Compose Installation Guide](/docs/studio/installation/installation-guides/docker-compose-guide.md)
- [Studio Infrastructure Requirements](/docs/reference/deployment/studio-hardware-requirements.md)
- [Setting Up CI/CD](/docs/pro/deploy/ci-cd.md)
- [NLU Components](/docs/reference/config/components/nlu-components.md)
- [Deploying Fine-Tuned LLMs for Command Generation](/docs/reference/deployment/deploy-fine-tuned-model.md)
