Skip to Content
Installation

Installation

qaws can run as a downloaded binary, a Docker image, or a source build.

Release binaries

Download the artifact that matches your platform from the GitHub release, then mark it executable:

chmod +x ./qaws-0.2.7-aarch64-macos ./qaws-0.2.7-aarch64-macos version

Install it somewhere on your PATH:

install -m 755 ./qaws-0.2.7-aarch64-macos /usr/local/bin/qaws qaws version

Verify checksums when you download release artifacts:

shasum -a 256 -c SHA256SUMS

Practical release targets

PlatformArtifact
Linux x86_64 muslqaws-0.2.7-x86_64-linux-musl
Linux x86_64 glibcqaws-0.2.7-x86_64-linux-gnu
Linux ARM64 muslqaws-0.2.7-aarch64-linux-musl
Linux ARM64 glibcqaws-0.2.7-aarch64-linux-gnu
Linux ARM hard-floatqaws-0.2.7-arm-linux-musleabihf
Linux RISC-V muslqaws-0.2.7-riscv64-linux-musl
Termux / Android ARM64qaws-0.2.7-aarch64-linux-android
macOS Apple Siliconqaws-0.2.7-aarch64-macos
macOS Intelqaws-0.2.7-x86_64-macos
Windows x86_64qaws-0.2.7-x86_64-windows-gnu.exe
Windows ARM64qaws-0.2.7-aarch64-windows-gnu.exe
FreeBSD x86_64qaws-0.2.7-x86_64-freebsd

Termux

Termux uses Android Bionic, not glibc. Use the Android artifact:

qaws-0.2.7-aarch64-linux-android

Install it:

chmod +x ./qaws-0.2.7-aarch64-linux-android install -m 755 ./qaws-0.2.7-aarch64-linux-android "$PREFIX/bin/qaws" qaws version

Serve a site from your home directory:

qaws --host 0.0.0.0 --port 8080 --serve "$HOME/website/public"

Use a high port unless the device is rooted or configured to allow privileged binds.

Docker

Docker is the simplest install path when you already run containers:

docker pull ghcr.io/nulldoubt/qaws:0.2.7 docker run --rm -p 8080:80 -v "$PWD/public:/public:ro" ghcr.io/nulldoubt/qaws:0.2.7

See Docker for volume, config, Compose, and publishing details.

Source build

Install Zig 0.16.0, then:

git clone https://github.com/nulldoubt/qaws.git cd qaws zig build zig test src/main.zig zig build test

Run from the build output:

./zig-out/bin/qaws --host 127.0.0.1 --port 8080 --serve ./public

Build one release target:

zig build -Dtarget=aarch64-linux-gnu -Doptimize=ReleaseFast

Build all practical release artifacts:

./scripts/build-release.sh
qaws docs. Built for static hosting.