awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
Yelp avatar

Yelp/dumb-init

0
View on GitHub↗
engineeringblog.yelp.com/2016/01/dumb-init-an-init-for-docker.html↗

Dumb Init

dumb-init is a lightweight process supervisor and minimal init system designed to run as the primary process in a Linux container. It functions as a manager for the first process in a namespace, specifically handling the responsibilities of a Linux init system.

The project focuses on signal proxying and the reclamation of zombie processes. It captures incoming system signals and relays or translates them to child process groups to ensure graceful application shutdown and termination.

It manages the lifecycle of spawned applications by monitoring child processes and collecting terminated ones to prevent the system process table from filling up.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Features

  • Container Init Process - Acts as the PID 1 process within a container to handle Linux init system responsibilities.
  • Container Signal Forwarders - Forwards termination and interrupt signals from the container runtime to managed services for clean deinitialization.
  • Zombie Process Reclamation - Reclaims resources from terminated child processes to prevent the system process table from filling with zombies.
  • Process Signal Forwarding - Forwards received system signals to child processes to ensure correct response to termination requests.
  • Process Group Signaling - Relays system signals to the child process group to ensure all descendant processes shut down gracefully.
  • Lifecycle Supervision - Monitors the lifecycle of spawned applications to ensure the supervisor exits once the child process completes.
  • OCI Container Process Management - Manages process lifecycles and signal propagation specifically for processes running within container runtimes.
  • Process Lifecycle Managers - Controls the execution state and lifecycle of child processes while acting as the first process in the namespace.
  • Signal Rewriting - Translates specific incoming signals into different types or drops them entirely before forwarding to child processes.
  • Process Signal Translation - Intercepts and converts specific incoming system signals into different types before delivery to the application.
7,291 stars·353 forks·Python·MIT·21 views

Star history

Star history chart for yelp/dumb-initStar history chart for yelp/dumb-init

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

Projects sharing features with Dumb Init

These projects share indexed features with Dumb Init. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • krallin/tinikrallin avatar

    krallin/tini

    11,129View on GitHub↗

    Tini is a lightweight process management tool designed to act as the entrypoint for OCI compliant containers. It functions as a minimal init process that manages the lifecycle of a primary child process, preventing the root process from ignoring critical termination signals. The project focuses on signal proxying and zombie process reaping. It forwards system signals from the container runtime to child processes and process groups to ensure graceful shutdowns. Additionally, it automatically collects terminated child processes to prevent the process table from filling with defunct entries. Ti

    Ccdockerinit
    View on GitHub↗11,129
  • phusion/baseimage-dockerphusion avatar

    phusion/baseimage-docker

    9,098View on GitHub↗

    Phusion/baseimage-docker is a minimal Ubuntu-based Docker base image that includes a proper init system for managing multiple services and processes inside a single container. It provides a lightweight init process that reaps zombie processes, forwards stop signals for graceful shutdown, and supervises daemons through runit, restarting them automatically if they crash. The image includes a preconfigured OpenSSH server restricted to public-key authentication for secure shell access to running containers, along with a cron daemon for scheduling recurring tasks. It supports ordered startup scrip

    Shell
    View on GitHub↗9,098
  • hexops-graveyard/dockerfilehexops-graveyard avatar

    hexops-graveyard/dockerfile

    4,085View on GitHub↗

    This project is a collection of best practices and curated templates for building secure, stable, and production-ready Docker images. It provides standards for OCI image optimization and a guide for implementing industry-standard configurations in container environments. The repository offers specific patterns for security hardening, such as implementing non-root user execution with static IDs to prevent host privilege escalation. It also provides structural templates for multi-stage builds to separate build-time dependencies from the final runtime environment. Additional capabilities cover

    Dockerfilecontainersdockerfilekubernetes
    View on GitHub↗4,085
  • tianon/gosutianon avatar

    tianon/gosu

    4,978View on GitHub↗

    gosu is a Go-based user identity switcher and process wrapper designed to execute commands under a specific user and group identity. It functions as a lightweight binary for switching user identities and forwarding signals before executing a target process. The tool focuses on container entrypoint optimization and user management within Docker containers. It enables the execution of processes as non-root users while ensuring that operating system signals reach the child process and the target command is established as the primary process. The utility manages Linux process identity switching

    Shell
    View on GitHub↗4,978
Compare all 30 related projects→

Frequently asked questions

What does yelp/dumb-init do?

dumb-init is a lightweight process supervisor and minimal init system designed to run as the primary process in a Linux container. It functions as a manager for the first process in a namespace, specifically handling the responsibilities of a Linux init system.

What are the main features of yelp/dumb-init?

The main features of yelp/dumb-init are: Container Init Process, Container Signal Forwarders, Zombie Process Reclamation, Process Signal Forwarding, Process Group Signaling, Lifecycle Supervision, OCI Container Process Management, Process Lifecycle Managers.

Which projects share features with yelp/dumb-init?

Projects with overlapping indexed features include: krallin/tini — Tini is a lightweight process management tool designed to act as the entrypoint for OCI compliant containers. It… phusion/baseimage-docker — Phusion/baseimage-docker is a minimal Ubuntu-based Docker base image that includes a proper init system for managing… hexops-graveyard/dockerfile — This project is a collection of best practices and curated templates for building secure, stable, and production-ready… tianon/gosu — gosu is a Go-based user identity switcher and process wrapper designed to execute commands under a specific user and… ochinchina/supervisord — This project is a Go process supervisor designed to start and monitor multiple background programs with automatic… angrave/systemprogramming — This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core…