# Install daemontools with Homebrew, apk, apt, MacPorts, Nix

Collection of tools for managing UNIX services. Version 0.76 via Homebrew; verified 2026-07-08.

## Install

```sh
sudo av install brew:daemontools
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install daemontools
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install daemontools
```

  Evidence: MacPorts ports tree: sysutils/daemontools/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add daemontools
```

  Evidence: Alpine Linux edge package indexes: daemontools from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install daemontools
```

  Evidence: Debian stable package indexes: daemontools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#daemontools
```

  Evidence: nixpkgs package indexes: pkgs/by-name/da/daemontools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

## Package facts

- **Package key:** brew:daemontools
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/daemontools>
- **Version:** 0.76
- **Source summary:** Collection of tools for managing UNIX services
- **Homepage:** <https://cr.yp.to/daemontools.html>
- **Upstream docs:** <https://cr.yp.to/daemontools.html>
- **License:** LicenseRef-Homebrew-public-domain
- **Source archive:** <https://cr.yp.to/daemontools/daemontools-0.76.tar.gz>
- **Last updated:** 2026-07-08T02:26:26Z
- **Generated:** 2026-07-09T07:20:21+00:00

## Executables

- envdir (cli)
- envuidgid (cli)
- fghack (cli)
- multilog (cli)
- pgrphack (cli)
- readproctitle (cli)
- setlock (cli)
- setuidgid (cli)
- softlimit (cli)
- supervise (cli)
- svc (cli)
- svok (cli)
- svscan (cli)
- svscanboot (cli)
- svstat (cli)
- tai64n (cli)
- tai64nlocal (cli)
- envdir (alias)
- envuidgid (alias)
- fghack (alias)
- multilog (alias)
- pgrphack (alias)
- readproctitle (alias)
- setlock (alias)
- setuidgid (alias)
- softlimit (alias)
- supervise (alias)
- svc (alias)
- svok (alias)
- svscan (alias)
- svscanboot (alias)
- svstat (alias)
- tai64n (alias)
- tai64nlocal (alias)

## Install behavior

- Post-install hook: not defined
- Service: declared
- Caveats: Services are stored in: $HOMEBREW_PREFIX/etc/service/
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-09
- Package-manager version: 0.76
- Package-manager updated: 2026-07-08
- Local data: ok
- Upstream repository: https://cr.yp.to/daemontools.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

daemontools is Daniel J. Bernstein's collection of Unix service supervision and logging tools. Its model is compact and filesystem-oriented: services are directories, each service has a run script, and small programs such as supervise, svscan, svc, multilog, envdir, setuidgid, softlimit, setlock, tai64n, and tai64nlocal compose the system.

### Project history

The official daemontools page describes the package as tools for managing UNIX services. The install guide distributes daemontools-0.76.tar.gz under /package/admin/daemontools-0.76 and documents a /package-based installation layout.

The upgrade notes show the package stabilizing its service model across the 0.53, 0.60/0.61, 0.70, and 0.75/0.76 lines. Notable changes include supervise switching to a service directory and ./run script, older logging utilities being replaced by multilog, accustamp and tailocal being replaced by tai64n and tai64nlocal, setuidgid being renamed from setuser, setlock and envdir being added, svscan accepting a service directory argument, and the package moving under /package/admin/daemontools.

### Adoption history

daemontools became influential among Unix administrators who wanted reliable supervision outside traditional init scripts. Its FAQ explicitly compares /service with inittab, ttys, init.d, and rc.local, arguing for easy installation and removal, automatic first startup, reliable restarts, reliable signaling, clean process state, and portability across Linux, BSD, Solaris, and other Unix systems.

Even on systems that no longer deploy daemontools itself, its vocabulary remains recognizable in later supervision systems: foreground daemons, run scripts, service directories, separate supervised loggers, and small process-control commands.

### How it is used

A supervised service is a directory containing an executable ./run script. supervise changes into that directory, starts ./run, restarts it if it exits, honors a down file for initially disabled services, and writes status under the service directory's supervise subdirectory.

svscan starts one supervise process for each subdirectory of its scan directory, checks every five seconds for new services, restarts supervise processes that exit, and can also wire a service's output to a separately supervised log service. multilog saves, filters, timestamps, and rotates logs, pausing safely if the disk fills rather than dropping data.

### Why package nerds care

For package nerds, daemontools is important because it expresses a service-manager philosophy in tiny binaries and directories rather than a large resident manager. The package is old, terse, and opinionated, but it influenced how Unix people talk about supervision, foreground services, log pipelines, and avoiding fragile init-script process state.

### Timeline

- 0.53-0.61: supervise changes to run ./run from a service directory.
- 0.60-0.61: older logging and timestamp tools are replaced by multilog, tai64n, and tai64nlocal; setuser becomes setuidgid.
- 0.61-0.70: setlock and envdir are added; svscan gains a command-line /service argument.
- 0.70-0.76: package installs under /package/admin/daemontools; svscanboot, readproctitle, and pgrphack are added.
- 0.76: Official install guide distributes daemontools-0.76.tar.gz.

### Related projects

- daemontools includes or centers on supervise, svscan, svc, svok, svstat, fghack, pgrphack, readproctitle, multilog, tai64n, tai64nlocal, setuidgid, envuidgid, envdir, softlimit, and setlock.
- Its service-supervision ideas are related to later daemontools-family and daemontools-inspired supervisors, though those projects are outside the official source set used here.

### Sources

- <https://cr.yp.to/daemontools.html>
- <https://cr.yp.to/daemontools/faq/create.html>
- <https://cr.yp.to/daemontools/install.html>
- <https://cr.yp.to/daemontools/supervise.html>
- <https://cr.yp.to/daemontools/svscan.html>
- <https://cr.yp.to/daemontools/upgrade.html>


## Security Notes

formula declares a Homebrew service.

- **Geiger risk:** orange / medium
- formula declares a Homebrew service

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** daemontools
- **Version Scheme:** 0
- **Revision:** 2
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** stable

## Other Package-Manager Records

- Debian apt - daemontools - 1:0.76-14: normalized package name match | Debian stable package indexes: daemontools from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | collection of tools for managing UNIX services | https://cr.yp.to/daemontools.html
- Debian apt - daemontools-run - 1:0.76-14: normalized package name match | Debian stable package indexes: daemontools-run from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | daemontools service supervision | https://cr.yp.to/daemontools.html
- Nix - daemontools: normalized package name match | nixpkgs package indexes: pkgs/by-name/da/daemontools/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - daemontools - 1:0.76-10: normalized package name match | Ubuntu 24.04 LTS package indexes: daemontools from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | collection of tools for managing UNIX services | https://cr.yp.to/daemontools.html
- Ubuntu apt - daemontools-run - 1:0.76-10: normalized package name match | Ubuntu 24.04 LTS package indexes: daemontools-run from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | daemontools service supervision | https://cr.yp.to/daemontools.html
- apk - daemontools - 0.76-r3: normalized package name match | Alpine Linux edge package indexes: daemontools from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Collection of tools for managing UNIX services | https://cr.yp.to/daemontools.html
- apk - daemontools-openrc - 0.76-r3: normalized package name match | Alpine Linux edge package indexes: daemontools-openrc from https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz | Collection of tools for managing UNIX services (OpenRC init scripts) | https://cr.yp.to/daemontools.html
- MacPorts - daemontools: normalized package name match | MacPorts ports tree: sysutils/daemontools/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1
- Nix - supervise: installed executable or alias match | nixpkgs package indexes: pkgs/by-name/su/supervise/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1


## Related links

- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Web development packages](https://www.automicvault.com/pkg/web-dev-tools/) - Matched web development metadata.
- [djbdns](https://www.automicvault.com/pkg/brew/djbdns/) - Popular package that depends on this formula.
- [jsvc](https://www.automicvault.com/pkg/brew/jsvc/) - Shares av.db curated category or tags: cli, service-management, system, unix.
- [lunchy](https://www.automicvault.com/pkg/brew/lunchy/) - Shares av.db curated category or tags: cli, service-management, system.
- [s6-rc](https://www.automicvault.com/pkg/brew/s6-rc/) - Shares av.db curated category or tags: cli, service-management, system, unix.
- [immortal](https://www.automicvault.com/pkg/brew/immortal/) - Shares av.db curated category or tags: cli, service-management, system, unix.
- [monit](https://www.automicvault.com/pkg/brew/monit/) - Shares av.db curated category or tags: cli, service-management, system, unix.
- [shepherd](https://www.automicvault.com/pkg/brew/shepherd/) - Shares av.db curated category or tags: cli, service-management, system.
- [systemd](https://www.automicvault.com/pkg/brew/systemd/) - Shares av.db curated category or tags: cli, service-management, system.
- [bash](https://www.automicvault.com/pkg/brew/bash/) - Shares av.db curated category or tags: cli, system, unix.

## Combined YAML source

View the package source record on GitHub. [combined/daemontools.yml](https://github.com/automic-vault/db/blob/main/combined/daemontools.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
