sterling_paramore
08/22/2022, 11:21 PMalexander_butler
08/23/2022, 12:20 AMRUN meltano install
or
RUN meltano install extractor ... && meltano install loader ... && ...
To the dockerfile. The venvs are really lightweight in the grand scheme of thingsalexander_butler
08/23/2022, 12:20 AMedgar_ramirez_mondragon
08/23/2022, 12:51 AMrather than resorting to installing them into their own virtual environments?That usually creates more headaches than it solves, because of dependency conflicts between singer taps, targets, dbt, etc. @sterling_paramore I’m curious about which benefits you are looking for by installing all the packages in a single place (e.g. build time, image size, security)
sterling_paramore
08/23/2022, 12:59 AMRUN meltano install
in that case. If I could install the pip dependencies in a directory outside of my code repo, that might work, but that feature isn’t currently available.
My concern here is mostly about building a container I can deploy and also use as a dev environment.alexander_butler
08/23/2022, 1:07 AMFROM meltano/...
WORKDIR /project
COPY . .
RUN meltano install
👆 this will give you a container with meltano ready to go! which you could enter into overriding the entrypoint to /bin/bash if you want to do some work out of it
Using a mount, your mounted files can override the workdir files but that could be intentional if you have config locally you want to be the source of truth -- so maybe it solves for your needs
docker run -it -v ./:/project -- /bin/bash
definitely some pseudocode going on above 😄 but does that make sense? hope it helps!kk
08/23/2022, 4:51 AMsterling_paramore
08/23/2022, 3:48 PMmeltano install
in the Dockerfile
, and then ALSO run it as a separate task to initialize my local dev environment after mounting my code to the container. That seems like it will work ok, despite a little duplication of effort. Thanks Alex!