Cómo usar pups - ejecutar output en docker

Durante mucho tiempo no entendí realmente qué era pups y, siendo sincero, sigo un poco confundido. :grinning_face_with_smiling_eyes: :sweat_smile:

Entiendo que las imágenes de Docker de Discourse necesitan configurarse. En lugar de hacerlo mediante scripts de bash, esto se realiza a través de archivos yml (que generan scripts de bash), que se pueden encontrar en: https://github.com/discourse/discourse_docker/tree/master/samples

El lanzamiento de los contenedores de Docker y la configuración mediante pups están entrelazados en el script de lanzamiento aquí:

La línea a la que he enlazado es de especial interés para mí. Parece hacer que pups se ejecute dentro del contenedor de Docker. Intenté ejecutar un test.yml a través de pups y, obviamente, no se ejecutó dentro de un contenedor de Docker. Simplemente generó un script de bash (¿comandos de bash?) que se ejecutó inmediatamente.

Mi pregunta es: ¿cómo hago que pups se ejecute en el contenedor de Docker de desarrollo? Esta línea a la que he hecho referencia es muy larga y parte de ella parece innecesaria para mi caso de uso. Quizás alguien pueda dar un ejemplo sencillo de cómo combinar la salida de pups con un contenedor de Docker.

Básicamente, quiero agregar un comando de pups similar al del script de lanzamiento, al final del script boot_dev (o ejecutarlo como un script separado después del script boot_dev).

información de fondo:

razón para hacer esto → quiero agregar un proceso de larga duración a runit. @merefield me señaló su plugin Frotz como referencia sobre cómo hacerlo:

La pregunta es: ¿cómo hago esto localmente para probar la entrada de pups? Según mi entendimiento, la instancia de desarrollo de Docker no se configura mediante un archivo yml y pups. La entrada de pups del plugin Frotz se refiere al archivo yml del servidor al instalar el plugin, así que básicamente estoy confundido sobre cómo hacer esto localmente.

Vale, gracias :sweat_smile:

EDIT:
Vale, encontré este tipo de líneas:

Esto significa que pups solo necesita ejecutarse dentro del contenedor. No sé por qué pensé que solo generaba comandos. Solo vi esta frase en el archivo README:

pups es una pequeña biblioteca que te permite automatizar el proceso de creación de imágenes Unix.

No tuvo mucho sentido para mí, así que naturalmente mi subconsciente tomó el control.

El argumento --gen-docker-run-args se utiliza para que la salida de argumentos de pups esté en el formato de docker run <salida de argumentos>.

De alguna manera, esto me llevó a conceptualizar a pups como algo que convierte archivos yml en salidas de comandos de bash. Como un compilador de yml a bash. Pero en realidad es más bien un intérprete de yml. No solo crea los comandos, también los ejecuta inmediatamente.