Pebble

Pebble is a lightweight Linux service manager.

It helps you orchestrate a set of local processes as an organised set. It resembles well-known tools such as supervisord, runit, or s6, in that it can easily manage non-system processes independently from the system services. However, it was designed with unique features such as layered configuration and an HTTP API that help with more specific use cases.

If you need a way to manage one or more services in a container, or as a non-root user on a machine, Pebble might be for you. It handles service logs, service dependencies, and allows you to set up ongoing health checks. Plus, it has an “HTTP over unix socket” API for all operations, with simple UID-based access control.

Pebble is useful for developers who are building Juju charms on Kubernetes, creating Rocks or Docker images, or orchestrating services in the virtual machine.

In this documentation

Start here: a hands-on introduction to Pebble, guiding you through your first steps using the CLI

Step-by-step guides covering key operations and common tasks

Discussion and clarification of key topics

Project and community

Pebble is free software and released under GPL-3.0.

The Pebble project is sponsored by Canonical Ltd.