Skip to content

Installation

articwake can be installed in several ways depending on your needs.

The easiest option for Raspberry Pi Zero 2 W. See the Quick Start Guide.

Download from GitHub Releases:

BinaryPlatformNotes
articwake-x86_64-linuxx86_64 LinuxStandard servers
articwake-aarch64-linuxARM64 Linux (glibc)Raspberry Pi 4/5, ARM servers
articwake-aarch64-linux-muslARM64 Linux (musl)Alpine Linux, static binary
articwake-armv7-linuxARMv7 LinuxRaspberry Pi 2/3 (32-bit)
Terminal window
# Download
wget https://github.com/a-maccormack/articwake/releases/latest/download/articwake-x86_64-linux
chmod +x articwake-x86_64-linux
# Set required environment variables
export ARTICWAKE_HOMELAB_MAC="aa:bb:cc:dd:ee:ff"
export ARTICWAKE_HOMELAB_IP="192.168.1.100"
# Run
./articwake-x86_64-linux
  • Rust 1.85+ (edition 2024)
Terminal window
# Clone the repository
git clone https://github.com/a-maccormack/articwake.git
cd articwake
# Build release binary
cargo build --release
# Binary is at target/release/articwake

For Raspberry Pi Zero 2 W (aarch64):

Terminal window
# Install cross
cargo install cross --git https://github.com/cross-rs/cross
# Build for ARM64
cross build --release --target aarch64-unknown-linux-gnu
# Or for Alpine Linux (static binary)
cross build --release --target aarch64-unknown-linux-musl

Available cross-compilation targets:

TargetPlatform
x86_64-unknown-linux-gnuStandard x86 servers
aarch64-unknown-linux-gnuARM64 with glibc
aarch64-unknown-linux-muslARM64 static binary
armv7-unknown-linux-gnueabihfARMv7 (Pi 2/3 32-bit)

Regardless of installation method, you need to:

  1. Generate an SSH keypair for connecting to your server’s initrd
  2. Create a PIN hash for authentication
  3. Configure environment variables

See the Configuration Guide for details.