Logody – Docker-Compose for Regular Programs

For a fun Friday afternoon’s hacking, I’ve put together a small program to bring the experience of Docker-Compose to regular programs!

This will allow you to quickly spin up a bunch of processes in parallel, aggregating their output into a single non-interfering stream:

It was inspired by how Docker-Compose handles the output of containers as they perform computation and output.

You can use it quickly with shell-string arguments:
logody “program1 args” “program2 args”
or via a config-file:

---
osname:
  process: uname
  args:
    - "-a"

echo:
  shell: "echo bar && sleep 1 && exit 1"
  resume:
    - fail

testscript:
  process: ./test/test.bash
  resume:
    - succeed
    - fail

Some examples of what this might be useful for:

  • A config file in your project to spin up tensor-board and jupyter-notebook
  • A make rule to concurrently run tests and linting
  • A way to have a set of services running even after failure for development

Check out more information here!

Share this post

Leave a Reply

Your email address will not be published. Required fields are marked *