# Install acme.sh with Homebrew, apk, apt, Nix, pacman

ACME client. Version 3.1.3 via Homebrew; verified 2026-05-26.

## Install

```sh
sudo av install brew:acme.sh
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install acme.sh
```

  Evidence: local Homebrew formula metadata

### Linux

- apk (92%):

```sh
sudo apk add acme.sh
```

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

- Debian apt (92%):

```sh
sudo apt install acme.sh
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#acme-sh
```

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

- pacman (92%):

```sh
sudo pacman -S acme.sh
```

  Evidence: Arch Linux sync databases: acme.sh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

## Package facts

- **Package key:** brew:acme.sh
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/acme.sh>
- **Version:** 3.1.3
- **Source summary:** ACME client
- **Homepage:** <https://github.com/acmesh-official/acme.sh>
- **Repository:** <https://github.com/acmesh-official/acme.sh>
- **Upstream docs:** <https://github.com/acmesh-official/acme.sh#readme>
- **License:** GPL-3.0-only
- **Source archive:** <https://github.com/acmesh-official/acme.sh/archive/refs/tags/3.1.3.tar.gz>
- **Last updated:** 2026-05-26T23:37:47-04:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- acme.sh (cli)
- acme.sh (alias)

## Install behavior

- Post-install hook: not defined
- Bottle: available on all

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 3.1.3
- Package-manager updated: 2026-05-26
- Local data: ok
- Upstream repository: https://github.com/acmesh-official/acme.sh
- Upstream latest detected: 3.1.3 (current)
## Project history and usage

acme.sh is a pure Unix shell ACME client for issuing, renewing, and installing TLS certificates. It is designed around a small shell script, broad Unix compatibility, no Python dependency, and automated renewals through cron.

### Project history

The GitHub repository was created in December 2015, shortly after Let's Encrypt made ACME-based certificate automation a practical mainstream workflow. The official README describes acme.sh as a full ACME protocol implementation written in Unix shell and tested across Linux, BSDs, macOS, Solaris-family systems, Haiku, and Windows via Cygwin.

The project grew from a Let's Encrypt-oriented client into a general ACME client. Its README lists support for multiple CAs including ZeroSSL, Let's Encrypt, SSL.com, Google Public CA, Actalis, Pebble, and any RFC 8555-compliant CA, while the wiki documents the large DNS API surface used for automated DNS-01 validation.

### Adoption history

acme.sh became a popular package-manager ACME client because it fits shared hosting, appliances, routers, and small servers where a shell-only dependency profile matters. The official README's 'Who Uses acme.sh?' section names deployments and integrations such as FreeBSD.org, Proxmox, pfSense/OPNsense-adjacent tooling, and other hosting/control-panel environments.

The input package-manager facts show acme.sh packaged across Homebrew, Alpine, Debian, Nix, and Arch. The GitHub API reports a large public repository with tens of thousands of stars and thousands of forks, consistent with broad operational adoption.

### How it is used

Typical package usage installs the acme.sh command, stores working state under ~/.acme.sh by default, creates a cron renewal job, and issues certificates with webroot, standalone, TLS-ALPN, Apache, Nginx, DNS, DNS alias, stateless, or DNS persist modes. DNS API credentials are exported once and then saved into ~/.acme.sh/account.conf for later renewal runs.

### Why package nerds care

acme.sh matters to package nerds because it is a rare security-critical tool whose portability comes from plain POSIX-ish shell rather than a language runtime. That makes it attractive for Homebrew, distro, appliance, and container packaging, while its large dnsapi collection creates a sprawling map of DNS provider integrations in one scriptable package.

### Timeline

- 2015-12-26: GitHub repository created.
- 2016-04-06: Earliest GitHub release metadata in the current repository lists version 1.2.2.
- 2016-07-02: Version 2.3.0 tag commit appears in the repository tag history.
- 2024: 3.0.x releases continue regular bug-fix and integration work.
- 2026-04-28: Release 3.1.3 published.

### Related projects

- Related projects include Let's Encrypt, ZeroSSL, Certbot, Pebble, RFC 8555 ACME servers, and the DNS provider APIs supported by acme.sh's dnsapi wiki.

### Sources

- Official README, official wiki, official dnsapi wiki page, GitHub repository/release metadata, and source_facts.package-manager.


## Security Notes

broad file, network, media, or database tool signal.

- **Geiger risk:** blue / medium
- broad file, network, media, or database tool signal


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.acme.sh/

## Credential files

- Unix: ~/.acme.sh/account.conf
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** acme.sh
- **Version Scheme:** 0
- **Revision:** 0
- **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 - acme.sh - 3.1.1-1: normalized package name match | Debian stable package indexes: acme.sh from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | Pure unix shell script implementing ACME client protocol | https://github.com/acmesh-official/acme.sh
- Nix - acme-sh: normalized package name match | nixpkgs package indexes: pkgs/by-name/ac/acme-sh/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- apk - acme.sh - 3.1.3-r0: normalized package name match | Alpine Linux edge package indexes: acme.sh from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | ACME Shell script, an acme client alternative to certbot | https://github.com/acmesh-official/acme.sh
- pacman - acme.sh - 3.1.3-1: normalized package name match | Arch Linux sync databases: acme.sh from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | An ACME Shell script, an acme client alternative to certbot | https://github.com/acmesh-official/acme.sh


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [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.
- [certbot](https://www.automicvault.com/pkg/brew/certbot/) - Shares av.db curated category or tags: acme, certificates, cli, letsencrypt, security.
- [lego](https://www.automicvault.com/pkg/brew/lego/) - Shares av.db curated category or tags: acme, certificates, cli, letsencrypt, security.
- [showcert](https://www.automicvault.com/pkg/brew/showcert/) - Shares av.db curated category or tags: certificates, cli, letsencrypt, security.
- [certgraph](https://www.automicvault.com/pkg/brew/certgraph/) - Shares av.db curated category or tags: certificates, cli, security.
- [certigo](https://www.automicvault.com/pkg/brew/certigo/) - Shares av.db curated category or tags: certificates, cli, security.
- [certstrap](https://www.automicvault.com/pkg/brew/certstrap/) - Shares av.db curated category or tags: certificates, cli, security.
- [crip](https://www.automicvault.com/pkg/brew/crip/) - Shares av.db curated category or tags: certificates, cli, security.
- [gimmecert](https://www.automicvault.com/pkg/brew/gimmecert/) - Shares av.db curated category or tags: certificates, cli, security.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
