Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

CONNECT flows

Install a flow runtime using Docker-compose

  • Last UpdatedJul 15, 2026
  • 2 minute read

This topic covers how to install a flow runtime using Docker-compose.

Prerequisites

You have a platform that supports the minimum requirements:

  • Docker is installed

  • Docker Compose is installed

  1. Install a flow runtime using Docker-compose

    1. Sign on to the Connect flows registry site: https://registry.flows.connect.aveva.com/

    2. Open a terminal and enter: [sudo] docker login https://registry.flows.connect.aveva.com/

    3. When prompted, enter the user name and password.

      • To locate the user name and password, open Flow manager, then select Manage and then select Flow runtimes.

      • Select the Settings icon. The Flow runtime artifacts dialog opens.

      • Select the Docker installation tab.

    4. Scroll down in the dialog and locate the user name and password under step 1.

    5. Copy this information to the clipboard.

    6. From the flow runtime page, select the Register flow runtime tab.

  2. Create docker-compose.yml

    1. Before running this Docker Compose file, create a secret for encrypting persisted credentials with the commands below.

      mkdir -p ./secrets

      openssl rand -base64 32 > ./secrets/cfe-encryption.key

      chmod 600 ./secrets/cfe-encryption.key

    2. Download the file into a local folder or create it using the code sample below.

      services:

      flows:

      image: registry.flows.connect.aveva.com/flow-runtime/flow-runtime:latest

      container_name: flow-runtime

      # Always restart the container if it stops or the host reboots.

      restart: always

      environment:

      #- ApiConfiguration__Address=0.0.0.0

      #- HttpConfiguration__Address=0.0.0.0

      #- MqttConfiguration__Address=0.0.0.0

      - MqttConfiguration__AuthenticationType=None

      #- EDGENODE_API_DEFAULT_ADMIN_PASSWORD=<PASSWORD>

      - SecurityConfiguration__Credentials__NodeId=<ID>

      - SecurityConfiguration__Credentials__AccessKey=<KEY>

      # Tell the container where to find the mounted Docker secret used for encrypting persisted credentials.

      - SecurityConfiguration__CredentialEncryption__Linux__SecretFile=/run/secrets/cfe-encryption.key

      # ports:

      # Uncomment if external access to HTTP and/or MQTT services is needed

      # Uncomment the corresponding 'Address' settings above and set an admin password

      # Configure user access with the local web UI on port 9191

      #- 9090:9090

      #- 9191:9191

      #- 8883:8883

      volumes:

      # Persist application data (credentials, configuration) across container restarts.

      - "./data:/application/data"

      # Mount the encryption secret into the container. Docker makes it available at /run/secrets/.

      secrets:

      - cfe-encryption.key

      logging:

      driver: json-file

      options:

      # Limit log file size to prevent disk exhaustion.

      max-size: "50m"

      max-file: "2"

      entrypoint:

      - ./Aveva.Connect.Flows.Server

      # Define the secret source. Docker reads the key from the local file and mounts it securely inside the container.

      secrets:

      cfe-encryption.key:

      # Path to the secret file on the host.

      file: ./secrets/cfe-encryption.key

  3. Configure credentials

    1. Option A: Id and AccessKey

      Replace <ID> and <KEY> with the values from Show Credentials.

    2. Option B: Global key

      For mass deployment, generate a registration key in the Key and Name Pattern tab, then replace the credential lines with the following:

      - SecurityConfiguration__Registration__Key=ENTER-YOUR-GLOBAL-KEY-HERE

      - SecurityConfiguration__Registration__Name=UNIQUE-NAME-HERE # Optional

      Then replace:

      ENTER-YOUR-GLOBAL-KEY-HERE with the registration key from the Key and Name Pattern tab.

      UNIQUE-NAME-HERE (optional) with a unique runtime name using only alphanumeric characters and underscores.

  4. Start the runtime

    [sudo] docker compose up -d

    The Runtime image will be downloaded from the registry and started.

  5. Verify the runtime

    If startup completes without errors, the runtime should appear in CONNECT Flows with a green checkmark on the Flow runtimes or Dashboard page.

Next, you can build and deploy flows on the new runtime.