Skip to content

Instantly share code, notes, and snippets.

@andrewappleton
Last active May 22, 2026 09:58
Show Gist options
  • Select an option

  • Save andrewappleton/a5399de8ec5e794e66cb5dff4f17e8c8 to your computer and use it in GitHub Desktop.

Select an option

Save andrewappleton/a5399de8ec5e794e66cb5dff4f17e8c8 to your computer and use it in GitHub Desktop.
Use Genesys Cloud Archy with Docker to allow Proxy

Using Archy inside a Docker Container to Allow Proxy Use

One limitation that several customers have when using Archy is that it does not (currently) support the use of a Proxy, unlike our other developer tools, Genesys Cloud Platform API CLI and the Genesys Cloud Terraform Provider. The process discussed below is NOT an official Genesys solution, this is a simple workaround that might come in handy if you have permissions to run Docker containers either ad hoc or within your CI/CD pipeline.

Create a Dockerfile to prepare the custom Docker image:

[Dockerfile]

# Use a minimal Linux base
FROM debian:bullseye-slim

# Install dependencies: curl, unzip
RUN apt-get update && \
    apt-get install -y curl unzip && \
    apt-get clean

# Set working directory
WORKDIR /opt/archy

# Download and extract Archy CLI
RUN curl -L https://sdk-cdn.mypurecloud.com/archy/latest/archy-linux.zip -o archy.zip && \
    unzip archy.zip && \
    chmod +x archy && \
    rm archy.zip

# Optional: Add Archy to PATH
ENV PATH="/opt/archy:${PATH}"

# Default command (can be overridden at runtime)
CMD ["./archy", "--version"]

Next, build the image:

ara@vm-azure archy $ docker build -t archy-cli .
[+] Building 14.1s (8/8) FINISHED                                                                                                                                                                                                docker:default
 => [internal] load build definition from Dockerfile                                                                                                                                                                                       0.1s
 => => transferring dockerfile: 586B                                                                                                                                                                                                       0.0s
 => [internal] load metadata for docker.io/library/debian:bullseye-slim                                                                                                                                                                    1.1s
 => [internal] load .dockerignore                                                                                                                                                                                                          0.0s
 => => transferring context: 2B                                                                                                                                                                                                            0.0s
 => [1/4] FROM docker.io/library/debian:bullseye-slim@sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851                                                                                                              2.2s
 => => resolve docker.io/library/debian:bullseye-slim@sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851                                                                                                              0.0s
 => => sha256:3e41ca17193bcd7630e4dd210602930b1f94464bdd59680bbf6654206f7707b8 30.26MB / 30.26MB                                                                                                                                           0.9s
 => => sha256:849d9d34d5fe0bf88b5fb3d09eb9684909ac4210488b52f4f7bbe683eedcb851 4.54kB / 4.54kB                                                                                                                                             0.0s
 => => sha256:4edd2740ebd41d71ef78eed0081c8979e287e2496c6fca892f5936d1e22adcd3 1.02kB / 1.02kB                                                                                                                                             0.0s
 => => sha256:6a5f04a4e85f06983d64aaf124052f3d46510fd3715102bdab14f6d48e72ddbf 453B / 453B                                                                                                                                                 0.0s
 => => extracting sha256:3e41ca17193bcd7630e4dd210602930b1f94464bdd59680bbf6654206f7707b8                                                                                                                                                  1.2s
 => [2/4] RUN apt-get update &&     apt-get install -y curl unzip &&     apt-get clean                                                                                                                                                     7.1s
 => [3/4] WORKDIR /opt/archy                                                                                                                                                                                                               0.1s 
 => [4/4] RUN curl -L https://sdk-cdn.mypurecloud.com/archy/latest/archy-linux.zip -o archy.zip &&     unzip archy.zip &&     chmod +x archy &&     rm archy.zip                                                                           2.6s 
 => exporting to image                                                                                                                                                                                                                     0.6s 
 => => exporting layers                                                                                                                                                                                                                    0.6s 
 => => writing image sha256:cd95a83c033deed395759efd612a25dbab740c3189df415c3473f025dc5376b6                                                                                                                                               0.0s 
 => => naming to docker.io/library/archy-cli                                                                                                                                                                                               0.0s 
ara@vm-azure archy $ 

Run the image to make sure it actually works...

ara@vm-azure archy $ docker run --rm archy-cli
Architect Scripting running under Node version '20.19.4'
ArchSessionId:9KO5gGkUP
2.35.4
ara@vm-azure archy $

Run an Archy command to make sure that is working properly...

ara@vm-azure archy $ docker run --rm archy-cli ./archy createImportFile --help
Architect Scripting running under Node version '20.19.4'
ArchSessionId:BvY5-Yqwp
Usage: archy createImportFile [options]

Creates an Architect flow import file from the supplied Archy flow YAML file. This does not create a flow in
your organization or a YAML file for a flow within Architect, just a file which can be imported in to
Architect. By default, the import file will be created in the same directory where the input YAML is located if
using the --file} parameter, otherwise it will be created in the Archy home directory if using the --fileUri
parameter.

Options:
  
  --force                                    (optional) tells Archy to overwrite the import file if it already
                                             exists when the command is run. (default: false)
  
  --outputDir <outputDir>                    (optional) directory where Archy should save the Architect flow
                                             import file. If the directory structure to the fully qualified file
                                             path does not exist, Archy will attempt to create the directory
                                             structure that contains the import file.
  
  --file <flowYamlPath>                      path to the Archy flow YAML file.
  
...

Create a Docker container with Proxy settings:

docker run \
 -e HTTP_PROXY=http://your-proxy:port \
 -e HTTPS_PROXY=http://your-proxy:port \
 -e NO_PROXY=localhost,127.0.0.1 \
 --rm archy-cli ./archy <your-commands>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment