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

# Docker Run

<Steps>
  <Step>
    Using the same [ENV variables](/how-to-guides/run-a-feeder/setting-up-the-node/docker-compose), run the feeder with `DEPLOYED_CONTRACT` initially empty:

    ```bash theme={"system"}
    docker run -d \
      -e NODE_OPERATOR_NAME= \
      -e PRIVATE_KEY= \
      -e CHAIN_ID= \
      -e DEPLOYED_CONTRACT= \
      -e PUSHGATEWAY_URL= \
      -e PUSHGATEWAY_USER= \
      -e PUSHGATEWAY_PASSWORD= \
      --name decentralized-feeder \
      diadata/decentralized-feeder:<VERSION>
    ```
  </Step>

  <Step>
    Retrieve the logs to get the deployed contract address. See the expected logs [here](/how-to-guides/run-a-feeder/setting-up-the-node/docker-compose#retrieve-deployed-contract).

    ```bash theme={"system"}
    docker logs <container_name>
    ```
  </Step>

  <Step>
    Stop the container, update the `DEPLOYED_CONTRACT` value, and restart:

    ```bash theme={"system"}
    docker stop <container_name>

    docker run -d \
      -e NODE_OPERATOR_NAME= \
      -e PRIVATE_KEY= \
      -e CHAIN_ID= \
      -e DEPLOYED_CONTRACT= \
      -e PUSHGATEWAY_USER= \
      -e PUSHGATEWAY_PASSWORD= \
      -e EXCHANGEPAIRS= \
      --name decentralized-feeder \
      diadata/decentralized-feeder:<VERSION>
    ```
  </Step>

  <Step>
    Retrieve the logs to verify the container is running as expected

    ```bash theme={"system"}
    docker logs <container_name>
    ```
  </Step>
</Steps>

For additional environment variable configurations, refer to [Adding Exchange Pairs](https://github.com/diadata-org/decentral-feeder/wiki/Adding-exchange-pairs) and [Watchdog environment variables](https://github.com/diadata-org/decentral-feeder/wiki/Enabling-watchdogs).
