# RASA X connecting to Custom Action Server using Docker (Discussion and Tutorial)

**URL:** <https://forum.rasa.com/t/rasa-x-connecting-to-custom-action-server-using-docker-discussion-and-tutorial/43481>\
**Category:** \[Deprecated\] Rasa X Community Edition\
**Created:** [May 12, 2021, 3:22am UTC](https://forum.rasa.com/t/rasa-x-connecting-to-custom-action-server-using-docker-discussion-and-tutorial/43481 "2021-05-12T03:22:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jason73](https://avatars.discourse-cdn.com/v4/letter/j/e36b37/32.png) [@Jason73](https://forum.rasa.com/u/Jason73)\
**Post date:** [May 12, 2021, 3:22am UTC](https://forum.rasa.com/t/rasa-x-connecting-to-custom-action-server-using-docker-discussion-and-tutorial/43481/1 "2021-05-12T03:22:04Z")

</div>

Hi all!

I experimented and believe that there are 2 ways to connect RASA X to Custom Action Server. (Hope this thread is able to help those who are stuck too!)

The first method is to build your custom actions image using [Connecting a Custom Action Server](https://rasa.com/docs/rasa-x/installation-and-setup/customize#connecting-a-custom-action-server) with the following `docker-compose.override.yml` file

```auto
version: "3.4"
services:
  app:
    restart: always
    image: <image:tag>
    expose:
      - "5055"
    depends_on:
      - rasa-production

```

The issue I am having with this is that I will need to push it to Dockerhub and I have some security concerns (Although I can have 1 free private repository). Also, I will need to restart the `app` container every time I make any changes in the action server in order for RASA X to get the updated changes.

The second method is to mount the action folder as the volume as demonstrated in [RASA Masterclass](https://www.youtube.com/watch?v=IUYdwy8HPVc&ab_channel=Rasa). (Note: Instead of creating a blank actions folder as demonstrated in the tutorial, **copy your actions folder in the same directory as your docker-compose file** )

```auto
version: "3.4"
services:
  app:
    restart: always
    image: "rasa/rasa-sdk:latest"
    volumes: 
      - './actions:/app/actions'
    expose:
      - "5055"
    depends_on:
      - rasa-production

```

The issue I am having is that I would need to copy the actions folder to the folder where the docker-compose file is every time there is a change in actions and also to restart the `app` docker.

For those who have deployed RASA X in production with CI/CD pipeline set up, which method is preferred and how did you set up the CD pipeline for it. Apart from these 2 methods, are there other methods that I can explore?

Hope that this thread will be able to gather all useful information that can help others who are looking to deploy RASA X in production!

---

<div class="post-metadata">

**Author:** ![stephens](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.rasa.com/stephens/32/1632_2.png) [@stephens](https://forum.rasa.com/u/stephens)\
**Post date:** [May 15, 2021, 3:19pm UTC](https://forum.rasa.com/t/rasa-x-connecting-to-custom-action-server-using-docker-discussion-and-tutorial/43481/2 "2021-05-15T15:19:09Z")

</div>

> action server restart

In all config options, you have to restart the action server. If you want a no downtime config, you should take a look at our kubernetes/helm chart based setups. With kubernetes you can configure a pod replica update process so that there is no downtime.

> how did you set up the CD pipeline for it

We have a [blog post](https://blog.rasa.com/using-rasa-github-action-for-building-a-custom-action-server/) on this topic and you can see a working example pipeline in our financial-demo bot [here](https://github.com/RasaHQ/financial-demo/tree/main/.github/workflows).
