Re: anopa: init system/service manager built around s6

From: Laurent Bercot <>
Date: Sat, 11 Apr 2015 06:27:29 +0200

On 11/04/2015 03:41, Aristomenis Pikeas wrote:
> I'm having a lot of trouble figuring out the differences between your
> projects. The s6 suite of utils can be considered building blocks for
> a full init system, but what does each of your projects do on top of
> s6?

  s6-rc and anopa are very similar, except that anopa is released and
s6-rc isn't - and won't be for a couple months. (If Olivier agrees,
I'll discuss s6-rc design with him.)
  The point of both s6-rc and anopa is to implement a complete
dependency-based init system that handle both one-time initialization
scripts and long-running services, the latter being supervised by s6.
They're mostly aimed at full-fledged machines ; you probably do not
need them in a Docker container, unless you really have a lot of

  AIUI, Toki's supervision framework aims to ease integration of
supervision systems with existing init schemes like SysVinit/OpenRC.
You probably do not need that either in a Docker container.

  Gorka's s6-overlay integrates s6 into a Docker image for you, saving
you the hassle of writing init scripts by hand for your container.
This package will probably help you.

> For a bit of context, my goal is the simplest init system that could
> possibly work, to be run inside of a docker container. I need to
> start services and gracefully handle SIGTERM/SIGKILL, with everything
> logged to standard out. That's about it.

  s6-overlay is what you need. You probably don't need anything else.

> But this is proving to be difficult with s6.

  From what you are saying in the beginning of your mail, I understand
that the difficulty comes from the abundance of peripheral projects with
unclear use cases. Did I get your meaning correctly, or are you running
into other difficulties ?

> I've been chipping away at things, but it's slow
> going between understanding all of the tricky bash-isms and learning
> about all of the relevant s6 components.

  Bashisms ? There are no bashisms in s6. Or in s6-overlay. There is no
shell at all involved in either of these packages!
  I suspect you are getting confused by a few projects that are outside
your scope. Maybe we need a meta-documentation page, that explains which
project does what. This surprises me, however, because I think we're
still a quite small community...

  When in doubt, go back to the basics. s6 itself is not more complicated
than runit; there's just more in it, and all the extras are non-essential. should help you make sense
of the s6 components. If something is unclear on that page, please tell
me what you would like to see.

  And to use s6 in a Docker container, forget about complete init scripts
and service management: you don't need all that. s6-overlay is the only
community package you need; it should provide you with the minimal amount
of necessary plumbing to run an s6-based container without headaches.

  Good luck, and please ask more questions if you're running into

Received on Sat Apr 11 2015 - 04:27:29 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC