Discourse_theme non interattivo quando eseguito all'interno di un Docker container

Ciao, innanzitutto vorrei dire che avrei preferito la possibilità di inviare questo bug report direttamente sul repository: GitHub - discourse/discourse_theme: CLI helper for developing Discourse themes - perché non sono sicuro di essere nel posto giusto qui?

discourse_theme è uno strumento Ruby e non voglio Ruby sul mio computer. E poiché voglio versioni Ruby omogenee in tutto il mio team, ho creato questa immagine Docker:

# syntax = docker/dockerfile:1.10

# Assicurati che RUBY_VERSION corrisponda alla versione Ruby in .ruby-version e Gemfile
ARG RUBY_VERSION=3.4.2
ARG ALPINE_VERSION=3.20
FROM ruby:$RUBY_VERSION-alpine${ALPINE_VERSION}

# Installa pacchetti
RUN --mount=type=cache,id=dev-apk-cache,sharing=locked,target=/var/cache/apk \
  --mount=type=cache,id=dev-apk-lib,sharing=locked,target=/var/lib/apk \
  apk add \
  ca-certificates \
  bash \
  tzdata \
  xz-libs \
  gcompat \
  zstd-libs \
  libpq

RUN gem install discourse_theme

ENTRYPOINT ["discourse_theme"]

Posso eseguirlo così:

# COMPILA prima
docker build -t discourse_theme:latest .

# ESEGUI WATCH
docker run -i -t --rm -v $(pwd):/root -w /root discourse_theme:latest watch .

Il problema che voglio segnalare qui riguarda l’interattività della CLI.

Non c’è interattività da tastiera all’interno di Docker.

Vedo questo quando eseguo:

Se premo un tasto freccia, il messaggio di aiuto scompare, ma l’opzione verde “selezionata” non si sposta mai:

Quindi penso che questo sia un bug nella Gem. Ha rilevato una pressione di tasti, ma non ha spostato la selezione. Ho testato molti tasti.

Un altro test che ho fatto è stato eseguire bash nell’immagine e avviare discourse_theme da lì, ma è lo stesso problema.

$ docker run -it --rm -v $(pwd):/root -w /root --entrypoint /bin/bash discourse_theme:latest
9f5736f3265e:~# discourse_theme watch .

È un comportamento normale per gli strumenti CLI Ruby o c’è un bug? Grazie