macOS
brew install tinilocal Homebrew formula metadata
brew
Tiny but valid init for containers. Version 0.19.0 via Homebrew; verified from local package data.
install
brew install tinilocal Homebrew formula metadata
sudo apk add tiniAlpine Linux edge package indexes · tini · source: dl-cdn.alpinelinux.org
sudo apt install tiniDebian stable package indexes · tini · source: deb.debian.org
sudo dnf install tiniFedora Rawhide package metadata · tini · source: dl.fedoraproject.org
nix profile install nixpkgs#tininixpkgs package indexes · pkgs/by-name/ti/tini/package.nix · source: api.github.com
sudo zypper install tiniopenSUSE Tumbleweed package metadata · tini · source: download.opensuse.org
overview
Tiny but valid init for containers
history
Tini is a small init process for containers. It became widely known because it solves the PID 1 problem in Docker-style containers: reaping zombie processes and forwarding signals while staying transparent to the application.
Tini's README defines the project in intentionally minimal terms: it spawns one child process, waits for it to exit, reaps zombies, and forwards signals. That narrow scope is the project's identity; it is not a process supervisor, service manager, or orchestration layer.
The first visible tag in the official repository is v0.1.0 in 2015, and the release stream continued through v0.19.0 in 2020. Over that period the README grew into a container-packaging guide: download a signed binary, verify checksums, add it as an ENTRYPOINT, or install it from a distribution package.
Tini's adoption story is unusually strong for a tiny utility because Docker incorporated it. The README states that Docker 1.13 and later include Tini and enable it with docker run --init; Docker's own prior release notes describe the --init flag as using Tini as a zombie-reaping PID 1.
The README also documents Alpine Linux, NixOS, Debian, and Arch packaging, plus prebuilt Docker images. The supplied package-manager facts add Homebrew, Fedora/dnf, Ubuntu, and zypper, showing that package managers treat Tini as a standalone utility even after Docker embedded it.
The common manual use is to install a Tini binary into a container image and set ENTRYPOINT to run Tini before the real application. Tini then handles signal forwarding and child reaping, preserving application behavior while making container shutdown and cleanup more predictable.
Operators can also use options for subreaping when Tini is not PID 1, exit-code remapping for cases such as SIGTERM exit 143, and process-group killing for shell wrappers or child process trees.
Tini is package-nerd catnip because it is almost the smallest possible program that became infrastructure. It turned a subtle Linux/container semantic problem into a single binary that distros, Docker images, and Docker itself could depend on.
Its packaging story also shows how a tool can move from GitHub release asset, to distro package, to embedded runtime component, while still remaining useful as an explicit package for users outside Docker's default path.
security posture
infrastructure mutation or orchestration signal.
orange risk · medium confidence · infrastructure
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
docker-init | cli | global executable | |
tini | cli | global executable | |
tini-static | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://github.com/krallin/tini
install metadata
| Package key | brew:tini |
|---|---|
| Version | 0.19.0 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/tini |
| Homepage | https://github.com/krallin/tini |
| Repository | https://github.com/krallin/tini |
| Upstream docs | https://github.com/krallin/tini#readme |
| License | MIT |
| Source archive | https://github.com/krallin/tini/archive/refs/tags/v0.19.0.tar.gz |
| Build dependencies | cmake |
| Bottle | available (on arm64_linux, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | tini |
| Version Scheme | 0 |
| Revision | 0 |
| Head Version | HEAD |
| Requirements |
|
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
tini 0.19.0-3+b7
tiny but valid init for containers
https://github.com/krallin/tini
sudo apt install tinitini
nix profile install nixpkgs#tinitini 0.19.0-1
tiny but valid init for containers
https://github.com/krallin/tini
sudo apt install tinitini 0.19.0-r3
A tiny but valid init for containers
https://github.com/krallin/tini
sudo apk add tinitini-static 0.19.0-r3
Static build of tini
https://github.com/krallin/tini
sudo apk add tini-statictini 0.19.0-12.fc44
A tiny but valid init for containers
https://github.com/krallin/tini
sudo dnf install tinitini-static 0.19.0-12.fc44
Standalone static build of tini
https://github.com/krallin/tini
sudo dnf install tini-statictini 0.19.0-3.3
A tiny but valid init for containers
https://github.com/krallin/tini
sudo zypper install tinitini-static 0.19.0-3.3
A tiny but valid init for containers, with libc linked statically
https://github.com/krallin/tini
sudo zypper install tini-staticdocker-init
nix profile install nixpkgs#docker-initsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.