Hey Meltano Team, Is there a way to `meltano ui` ...
# announcements
r
Hey Meltano Team, Is there a way to
meltano ui
in background, similar to
meltano invoke airflow webserver -D
which runs airflow in background? What is the recommended way to run the UI in background in the container when other ELT pipelines are running.
d
@rahul_anand
meltano ui
does not currently have a native "deamonize" feature like Airflow's
-D
, but you can use the shell
&
operator to move any command to the background: https://datacadamia.com/lang/bash/process/ampersand
What is the recommended way to run the UI in background in the container when other ELT pipelines are running.
I wouldn't recommend using the same container to run both
meltano ui
and
meltano invoke airflow scheduler
, although you can make it work using the
&
operator. Have you considered using separate containers instead?
(Please file an issue if you'd like for
meltano ui
to get its own
-D
flag 🙂)
r
@douwe_maan I have not used
meltano ui
much so may be some basic questions. If I run the
meltano ui
in a separate container how will
meltno ui
interact with other containers to configure, launch or schedule jobs?
d
@rahul_anand If you're running
meltano ui
inside a containerized project, the project will be readonly and it will not be able to make any changes to project files anymore: https://meltano.com/docs/production.html#containerized-meltano-project-7 https://meltano.com/docs/settings.html#project-readonly That means you won't be able to install new plugins or create new schedules (since all of this would be stored in your version controlled project), but as long as you're using a separate system database (https://meltano.com/docs/production.html#storing-metadata), you can still run and view the status of existing pipelines and modify their configuration
If you'd like to use Meltano UI in production to actually add plugins and schedules without going through version control, you wouldn't want to containerize your project, since that (by definition) locks those things in place 🙂