If you have any special requests, please send an email. Only architectures supported by each Linux distribution upstream are listed, and named after the upstream port (e.g. Debian uses "amd64" while Alpine uses "x86_64").
Note: support for multi-arch builds is underway, but not yet available.
The "native" column is checked if these builds run on native hardware for that architecture, if unchecked the builds are run on emulated hardware and may suffer from poor performance.
Support lifecycle
The support lifecycle for each build image follows the upstream support cycle. Each supported upstream release is generally offered on sr.ht, as well as the bleeding edge or development releases if applicable. No sooner than two weeks after a release becomes unsupported upstream, it will be unsupported on builds.sr.ht — and anyone who's submitted recent builds using those images will get an email warning them of the impending breakage.
It's recommended that you use aliases like "alpine/latest" or "debian/testing" rather than using a specific release in your build manifests.
Maintainer: Drew DeVault sir@cmpwn.com
Support policy: upstream
Alpine Edge |
image: alpine/edge
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: ppc64el | |||
arch: s390x | |||
arch: x86_64 (default) |
✓ | ✓ | daily |
arch: x86 |
Alpine 3.20 |
image: alpine/latest or
image: alpine/3.20
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: ppc64el | |||
arch: s390x | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
arch: x86 |
Alpine 3.19 |
image: alpine/latest or
image: alpine/3.19
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: ppc64el | |||
arch: s390x | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
arch: x86 |
Alpine 3.18 |
image: alpine/old or
image: alpine/3.18
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: ppc64el | |||
arch: s390x | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
arch: x86 |
Alpine 3.17 |
image: alpine/older or
image: alpine/3.17
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: ppc64el | |||
arch: s390x | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
arch: x86 |
packages
The packages array is installed with apk add
.
repositories
To add custom apk repositories, use repo-url key-url key-name
(separated with
spaces), where repo-url
is the URL of the package repository and key-url
is
a URL from where the signing key may be downloaded, and key-name
is the name
of the file written to /etc/apk/keys/
. If the name of the repo is prefixed
with an @, it will use that prefix in apk.
Example:
repositories:
sr.ht: >
https://mirror.sr.ht/alpine/sr.ht/
https://mirror.sr.ht/alpine/sr.ht/alpine%40sr.ht.rsa.pub
alpine@sr.ht.rsa.pub
Maintainer: Drew DeVault sir@cmpwn.com
Arch Linux |
image: archlinux
|
||
---|---|---|---|
arch | supported | native | updated |
arch: x86_64 (default) |
✓ | ✓ | daily |
packages
The package array is installed with yay -Syu
(AUR packages are transparently
installed).
repositories
To add custom pacman repositories, use url#key-id
, where url
is the URL of
the package repository and key-id
is the ID of the published PGP key the
packages are signed with.
Maintainer: Taavi Väänänen taavi@debian.org
Support policy: stable, testing, unstable, and oldstable are supported. See also: upstream releases
Debian Bookworm (stable) |
image: debian/stable or
image: debian/bookworm
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: armel | |||
arch: armhf | |||
arch: i386 | |||
arch: mips | |||
arch: mips64el | |||
arch: mipsel | |||
arch: ppc64el | |||
arch: s390x |
Debian Trixie (testing) |
image: debian/testing or
image: debian/trixie
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | daily |
arch: armel | |||
arch: armhf | |||
arch: i386 | |||
arch: mips | |||
arch: mips64el | |||
arch: mipsel | |||
arch: ppc64el | |||
arch: s390x |
Debian Sid (unstable) |
image: debian/unstable or
image: debian/sid
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 (experimental) |
✓ | ✗ | manually |
arch: amd64 (default) |
✓ | ✓ | daily |
arch: armel | |||
arch: armhf | |||
arch: i386 | |||
arch: mips | |||
arch: mips64el | |||
arch: mipsel | |||
arch: ppc64el | |||
arch: s390x |
Debian Bullseye (oldstable) |
image: debian/oldstable or
image: debian/bullseye
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | monthly |
arch: armel | |||
arch: armhf | |||
arch: i386 | |||
arch: mips | |||
arch: mips64el | |||
arch: mipsel | |||
arch: ppc64el | |||
arch: s390x |
packages
The packages array is installed with apt-get install
.
repositories
To add custom repositories, specify url release component key-id
(separated by
spaces), where url
is the URL of the package repository, release
is e.g.
bullseye
or bookworm
, component
is e.g. main
, contrib
, non-free
or
non-free-firmware
(since bookworm
), and key-id
is an optional PGP key ID
to add to the system keyring. Example:
repositories:
sr.ht: https://mirror.sr.ht/debian/sr.ht/ bookworm main DEADBEEFCAFEF00D
Maintainer: Haowen Liu lhw@lunacd.com
Fedora Rawhide |
image: fedora/rawhide or
image: fedora/42
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: x86_64 (default) |
✓ | ✓ | daily |
Fedora 41 |
image: fedora/latest or
image: fedora/41
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
Fedora 40 |
image: fedora/40
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
packages
The packages array is installed with dnf install
.
repositories
Given the following list of repositories in your manifest:
repositories:
example: https://example.org
The following commands will be used to configure it:
Fedora 41 and later:
dnf config-manager addrepo --from-repofile=https://example.org
dnf config-manager setopt example.enabled=1
Fedora 40 and earlier:
dnf config-manager --add-repo https://example.org
dnf config-manager --set-enabled example
Maintainer: none
Support policy: Upstream production releases are supported.
FreeBSD current |
image: freebsd/current
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: i386 | |||
arch: powerpc | |||
arch: powerpc64 | |||
arch: sparc64 |
FreeBSD 14.x |
image: freebsd/latest or
image: freebsd/14.x
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: i386 | |||
arch: powerpc | |||
arch: powerpc64 | |||
arch: sparc64 |
FreeBSD 13.x |
image: freebsd/13.x
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: i386 | |||
arch: powerpc | |||
arch: powerpc64 | |||
arch: sparc64 |
packages
The packages array is installed with pkg install
.
repositories
Custom package repositories are not supported on FreeBSD builds.
Maintainer: Unwox me@unwox.com
Guix System support for builds.sr.ht is actively being maintained here. There is a cookbook to get started.
Guix System |
image: guix
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armhf | |||
arch: i686 | |||
arch: powerpc64le | |||
arch: x86_64 (default) |
✓ | ✓ | daily |
packages
The packages are installed with guix install
.
repositories
Specifying additional channels via build manifest is not supported.
Maintainer: Michael Forney mforney@mforney.org
Support policy: the most recent release and the version prior are supported. See also: upstream release cycle
NetBSD 10.0 |
image: netbsd/latest or
image: netbsd/10.x
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: amd64 (default) |
✓ | ✓ | as required |
arch: armv6hf | |||
arch: armv7hf | |||
arch: armv7hfeb | |||
arch: i386 | |||
arch: mipseb | |||
arch: mipsel | |||
arch: mips64eb | |||
arch: mips64el | |||
arch: ppc | |||
arch: sparc64 |
NetBSD 9.3 |
image: netbsd/9.x
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: amd64 (default) |
✓ | ✓ | as required |
arch: armv6hf | |||
arch: armv7hf | |||
arch: armv7hfeb | |||
arch: i386 | |||
arch: mipseb | |||
arch: mipsel | |||
arch: mips64eb | |||
arch: mips64el | |||
arch: ppc | |||
arch: sparc64 |
packages
The packages array is installed with pkgin
.
repositories
Custom package repositories are not supported on NetBSD builds.
Maintainer: Francesco Gazzetta fgaz@fgaz.me
Support policy: NixOS upstream does not have a clear support policy, but usually
old releases continue to get security fixes for
a short amount of time
after they are superseded.
We ship the latest stable version (channel nixos-YY.MM
)
and the latest bleeding edge (channel nixos-unstable
).
We remove old versions after they are marked as "End of life" at
status.nixos.org.
NixOS unstable |
image: nixos/unstable
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armv6 | |||
arch: armv7 | |||
arch: x86_64 (default) |
✓ | ✓ | daily |
NixOS 24.05 |
image: nixos/latest or
image: nixos/24.05
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armv6 | |||
arch: armv7 | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
NixOS 23.11 |
image: nixos/23.11
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: armv6 | |||
arch: armv7 | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
packages
The packages array is installed with nix-env -iA
. Since it's possible to
specify multiple channels, you must provide the full selection path, for example
nixos.hello
.
repositories
To add custom channels, use channel-name: channel-url
. The channel name is relevant,
since channel-name: channel-url
will execute the commands nix-channel --add channel-url channel-name
and nix-channel --update channel-name
.
Example:
repositories:
nixpkgs: https://nixos.org/channels/nixpkgs-unstable
By default, no user channels are present.
However, like in a fresh NixOS installation, there is a root channel named
nixos
set to
https://nixos.org/channels/nixos-XX.YY
in nixos/latest
and nixos/XX.YY
https://nixos.org/channels/nixos-unstable
in nixos/unstable
which is the channel the image was built from.
flakes
Like in a standard Nix(OS) installation, flakes are not enabled by default.
A good way to use flakes without having to pass --extra-experimental-features
to every nix
invocation is to use the
NIX_CONFIG
environment variable instead:
environment:
NIX_CONFIG: "experimental-features = nix-command flakes"
Maintainer: Jarkko Oranen oranenj@iki.fi
Support policy: the most recent release and the version prior are supported. See also: upstream release cycle
OpenBSD 7.6 |
image: openbsd/latest or
image: openbsd/7.6
|
||
---|---|---|---|
arch | supported | native | updated |
arch: alpha | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: arm64 | |||
arch: armv7 | |||
arch: hppa | |||
arch: i386 | |||
arch: landisk | |||
arch: loongson | |||
arch: luna88k | |||
arch: macppc | |||
arch: octeon | |||
arch: power64 | |||
arch: sparc64 |
OpenBSD 7.5 |
image: openbsd/old or
image: openbsd/7.5
|
||
---|---|---|---|
arch | supported | native | updated |
arch: alpha | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: arm64 | |||
arch: armv7 | |||
arch: hppa | |||
arch: i386 | |||
arch: landisk | |||
arch: loongson | |||
arch: luna88k | |||
arch: macppc | |||
arch: octeon | |||
arch: power64 | |||
arch: sparc64 |
notes
Binary patches are applied to the base system using syspatch
.
packages
The packages array is installed with pkg_add
.
repositories
Custom package repositories are not supported on OpenBSD builds.
Maintainer: Haowen Liu lhw@lunacd.com
Rocky Linux 8 |
image: rockylinux/latest or
image: rockylinux/8
|
||
---|---|---|---|
arch | supported | native | updated |
arch: aarch64 | |||
arch: x86_64 (default) |
✓ | ✓ | weekly |
packages
The packages array is installed with dnf install
.
repositories
Given the following list of repositories in your manifest:
repositories:
example: https://example.org
The following commands will be used to configure it:
dnf config-manager --add-repo https://example.org
dnf config-manager --set-enabled example
Maintainer: Haowen Liu lhw@lunacd.com
Support cycle: all releases under standard support. See the upstream support schedule for more information.
Ubuntu Noble (24.04) |
image: ubuntu/lts or
image: ubuntu/noble or
image: ubuntu/24.04
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: i386 | |||
arch: ppc64el | |||
arch: s390x |
Ubuntu Oracular (24.10) |
image: ubuntu/next or
image: ubuntu/oracular or
image: ubuntu/24.10
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | daily |
arch: i386 | |||
arch: ppc64el | |||
arch: s390x |
Ubuntu Jammy (22.04) |
image: ubuntu/oldlts or
image: ubuntu/jammy or
image: ubuntu/22.04
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | daily |
arch: i386 | |||
arch: ppc64el | |||
arch: s390x |
Ubuntu Mantic (23.10) |
image: ubuntu/mantic or
image: ubuntu/23.10
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | weekly |
arch: i386 | |||
arch: ppc64el | |||
arch: s390x |
Ubuntu Focal (20.04) |
image: ubuntu/focal or
image: ubuntu/20.04
|
||
---|---|---|---|
arch | supported | native | updated |
arch: arm64 | |||
arch: amd64 (default) |
✓ | ✓ | monthly |
arch: i386 | |||
arch: ppc64el | |||
arch: s390x |
packages
The packages array is installed with apt-get install
.
repositories
To add custom repositories, specify url release component key-id
(separated by
spaces), where url
is the URL of the package repository, release
is e.g.
bionic
or cosmic
, component
is e.g. main
, contrib
or non-free
, and
key-id
is an optional PGP key ID to add to the system keyring. Example:
repositories:
sr.ht: https://mirror.sr.ht/debian/sr.ht/ cosmic main DEADBEEFCAFEF00D
commit 23592fd3f703a0d04a7ab6cf5b00ccaf027bf577 Author: Gary Kim <gary@garykim.dev> Date: 2024-11-30T00:14:06-05:00 builds.sr.ht: fedora: remove EOL versions