31 releases (8 breaking)

Uses old Rust 2015

0.18.4 Aug 10, 2018
0.18.2 Jul 7, 2018
0.15.5 Mar 20, 2018
0.13.2 Nov 30, 2017

#585 in Unix APIs

Download history 1/week @ 2023-07-27 32/week @ 2023-08-17 31/week @ 2023-08-24 3/week @ 2023-08-31 64/week @ 2023-09-07 27/week @ 2023-09-14 31/week @ 2023-09-21 26/week @ 2023-09-28 5/week @ 2023-10-05 25/week @ 2023-10-12 31/week @ 2023-10-19 49/week @ 2023-10-26 18/week @ 2023-11-02 34/week @ 2023-11-09

132 downloads per month





Lithos is a process supervisor and containerizer for running services. Lithos is not intended to be system init. But rather tries to be a base tool to build container orchestration.


  • use linux namespaces and cgroups for containerization
  • immediate restart of failing processes (with rate limit of course)
  • in-place upgrade of lithos without touching child processes
  • written in Rust so memory-safe and has zero runtime dependencies

It's designed to have absolutely minimal required functionality. In particular it doesn't include:

  • an image downloader (rsync is super-cool) or builder (use any tool)
  • any network API

Running Examples

Testing it in vagrant::

vagrant up && vagrant ssh

In vagrant shell::

$ ./example_configs.sh
$ sudo lithos_tree

If you want to change containers, sources or configs of this test vagrant deployment just rerun ./example_configs.sh.

(Note: in this test deployment lithos doesn't properly reload configs, because images does not version properly. Just restart lithos_tree to apply the changes)


Licensed under either of


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~238K SLoC