SmartThings CLI Docker Image

I am building a Docker image so I can automatically build and deploy edge drivers. I was able to get the ST CLI working with a Docker image based on Ubuntu, but would prefer Alpine linux. Has anyone else tried this? I am getting this error when I try to run it in alpine.

standard_init_linux.go:228: exec user process caused: no such file or directory

What are the minimum requirements for the ST CLI in linux?

This is related to the libraries needed by the cli. By installing libc6-compat I got past the error and now see this:

Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /usr/bin/smartthings)
Error relocating /usr/bin/smartthings: gnu_get_libc_version: symbol not found
Error relocating /usr/bin/smartthings: backtrace_symbols: symbol not found
Error relocating /usr/bin/smartthings: __register_atfork: symbol not found
Error relocating /usr/bin/smartthings: __strdup: symbol not found
Error relocating /usr/bin/smartthings: setcontext: symbol not found
Error relocating /usr/bin/smartthings: makecontext: symbol not found
Error relocating /usr/bin/smartthings: backtrace: symbol not found
Error relocating /usr/bin/smartthings: getcontext: symbol not found
Error relocating /usr/bin/smartthings: __libc_stack_end: symbol not found

Following up for anyone interested. Starting from the alpine base image, I had to install

RUN apk add --no-cache gcompat unzip wget lua5.3 git nodejs

unzip and wget are needed to download and unzip the cli. The rest are needed to clone your repo and build an edge driver.

2 Likes