Skip to content

Build static binaries based on Alpine Linux packages

Notifications You must be signed in to change notification settings

whoisnian/static-binaries

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

89 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

static-binaries

Release Status Release Version

Build static binaries based on Alpine Linux packages.

Binaries

Last build: 2026-03-01T07:37:04Z with Alpine Linux v3.23

binary package version download
fio community/fio 3.41 amd64 / arm64
qrencode community/libqrencode 4.1.1 amd64 / arm64
redis-cli community/redis 8.4.2 amd64 / arm64
7z main/7zip 25.01 amd64 / arm64
curl main/curl 8.17.0 amd64 / arm64
htop main/htop 3.4.1 amd64 / arm64
iperf3 main/iperf3 3.19.1 amd64 / arm64
ss main/iproute2 6.17.0 amd64 / arm64
lsof main/lsof 4.99.5 amd64 / arm64
mariadb main/mariadb 11.4.9 amd64 / arm64
mariadb-dump main/mariadb 11.4.9 amd64 / arm64
nano main/nano 8.7 amd64 / arm64
nc main/netcat-openbsd 1.234-1 amd64 / arm64
nmap main/nmap 7.97 amd64 / arm64
pigz main/pigz 2.8 amd64 / arm64
psql main/postgresql17 17.8 amd64 / arm64
pg_dump main/postgresql17 17.8 amd64 / arm64
ps main/procps-ng 4.0.5 amd64 / arm64
rsync main/rsync 3.4.1 amd64 / arm64
socat main/socat 1.8.0.3 amd64 / arm64
strace main/strace 6.17 amd64 / arm64
tcpdump main/tcpdump 4.99.5 amd64 / arm64
vim main/vim 9.1.2132 amd64 / arm64
xxd main/vim 9.1.2132 amd64 / arm64
wget main/wget 1.25.0 amd64 / arm64
mysql80 custom/mysql80 8.0.45 amd64 / arm64
mysqldump80 custom/mysql80 8.0.45 amd64 / arm64
mysql84 custom/mysql84 8.4.8 amd64 / arm64
mysqldump84 custom/mysql84 8.4.8 amd64 / arm64

Tested Linux

name arch kernel libc
Arch Linux x86_64 6.18.9-arch1-2 glibc 2.43
Debian 13 x86_64 6.12.73+deb13-cloud-amd64 glibc 2.41
Debian 12 x86_64 6.1.0-43-cloud-amd64 glibc 2.36
Debian 11 x86_64 5.10.0-38-cloud-amd64 glibc 2.31
Ubuntu 24.04 x86_64 6.8.0-101-generic glibc 2.39
Ubuntu 22.04 x86_64 5.15.0-171-generic glibc 2.35
Ubuntu 20.04 x86_64 5.4.0-216-generic glibc 2.31
Ubuntu 18.04 x86_64 4.15.0-212-generic glibc 2.27
Alpine 3.23 x86_64 6.18.7-0-virt musl 1.2.5
Alpine 3.22 x86_64 6.12.67-0-virt musl 1.2.5
Alpine 3.21 x86_64 6.12.67-0-virt musl 1.2.5
CentOS 7 x86_64 3.10.0-1160.80.1.el7.x86_64 glibc 2.17
Rocky 8.10 x86_64 4.18.0-553.el8_10.x86_64 glibc 2.28
Rocky 9.7 x86_64 5.14.0-611.5.1.el9_7.x86_64 glibc 2.34
Debian 13 aarch64 6.12.73+deb13-cloud-arm64 glibc 2.41
Debian 12 aarch64 6.1.0-43-cloud-arm64 glibc 2.36
Debian 11 aarch64 5.10.0-38-cloud-arm64 glibc 2.31
Ubuntu 24.04 aarch64 6.8.0-101-generic glibc 2.39
Ubuntu 22.04 aarch64 5.15.0-171-generic glibc 2.35
Ubuntu 20.04 aarch64 5.4.0-216-generic glibc 2.31
Ubuntu 18.04 aarch64 4.15.0-212-generic glibc 2.27
Alpine 3.23 aarch64 6.18.7-0-virt musl 1.2.5
Alpine 3.22 aarch64 6.12.67-0-virt musl 1.2.5
Alpine 3.21 aarch64 6.12.67-0-virt musl 1.2.5
CentOS 7 aarch64 4.18.0-348.20.1.el7.aarch64 glibc 2.17
Rocky 8.10 aarch64 4.18.0-553.el8_10.aarch64 glibc 2.28
Rocky 9.7 aarch64 5.14.0-611.5.1.el9_7.aarch64 glibc 2.34
  • name: cat /etc/os-release
  • arch: uname --machine
  • kernel: uname --kernel-release
  • libc: ldd --version

Build Release

# example: build static wget binary for current platform
docker build -o=dist main/wget

# example: build for another platform (not fully tested, use with caution)
docker build --platform linux/386 -o=dist main/wget     # build linux/386 on amd64 host
docker build --platform linux/arm/v7 -o=dist main/wget  # build linux/arm/v7 on arm64 host

Development

# use docker as build environment
mkdir -p src-gitignore apk-gitignore archive-gitignore
docker run --rm -it \
  -v ./src-gitignore:/src \
  -v ./apk-gitignore:/var/cache/apk \
  -v ./archive-gitignore:/var/cache/distfiles \
  alpine:3.23 sh

# prepare development dependencies
ln -s /var/cache/apk /etc/apk/cache
apk upgrade && apk add alpine-sdk git nano
git clone https://github.com/whoisnian/static-binaries.git /src

# example: manually run htop build commands in the Dockerfile
cd /src/main/htop/aports
abuild -F deps
apk add ncurses-static
sed -i APKBUILD -e 's|./configure|./configure --enable-static|'
abuild -F fetch verify unpack prepare mkusers build package

./pkg/htop/usr/bin/htop --help

Reference

About

Build static binaries based on Alpine Linux packages

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors