Just hit this error running a Github Action that used docker compose exec ...:
the input device is not a TTY
Github actions doesn’t give you a true terminal or shell (input/output environment, a TTY) and docker compose exec by default does, essentially, docker exec -it ... where -i means interative and -t is run a TTY (input/output device).
To avoid the error use the -T flag:
docker compose exec -T containerName commandHere
There’s some tickets floating around that suggest putting COMPOSE_INTERACTIVE_NO_CLI=1 in the environment, but that’s deprecated in v2.