Getting Started


Foopipes runs in Docker as a Linux container.

  • Install Docker.
  • Open a terminal and create a default yaml configuration file and name it foopipes.yml.
docker run aretera/foopipes config >foopipes.yml
  • Edit foopipes.yml to suit your needs.
  • Start Foopipes as a Docker container and mount the current directory as /project.
docker run -v $(pwd):/project aretera/foopipes


docker run -v %CD%:/project aretera/foopipes



Services is a definition of an interface to a system. Each service has a type which is the actual implementation of the service.

All services has a set of capabilities which dictates how you can interact with the service. Services are built in into Foopipes, or third party implementations that are loaded as plugins.

Common capabilities are: Queue Key value storage Indexed storage Event emitter


Pipelines is a set of tasks that will happen once a pipeline has been triggered. A pipeline is triggered by a service which is capable of emitting events, such as the queue service, httplistener service, or the scheduler service.


Tasks is what are executed in a pipeline. Often a task operates against one or more services. For a task to work with a specific service it is required that the service has the capabilities the task requires. For instance, the publish task requires the specified service has the queue capability.


Plugins are third party extensions Foopipes. Commonly a plugin are services and/or a set of tasks. Plugins are loaded at startup.