Alpine Linux Support
Overview
Alpine Linux users can use grate through multiple distribution methods without needing a dedicated Alpine package (.apk).
Available Options for Alpine Linux Users
1. Docker Image (Recommended)
The official grate Docker image is built on Alpine Linux and is the recommended approach for Alpine users:
docker pull grate-devs/grate:latest
The Docker image:
- Uses Alpine 3 as the base image
- Includes all necessary dependencies (icu-libs for globalization)
- Supports multiple architectures (amd64, arm64)
- Is published to Docker Hub on every release
See the Getting Grate documentation for Docker usage examples.
2. Standalone linux-musl Binaries
Pre-built binaries for linux-musl (Alpine’s libc implementation) are available for download from the releases page:
grate-linux-musl-x64-self-contained-{version}.zip- For x86_64/amd64 systemsgrate-linux-musl-arm64-self-contained-{version}.zip- For ARM64 systems
These self-contained binaries work on Alpine Linux without requiring .NET runtime installation.
Installation:
# Download the appropriate binary (replace {version} with actual version like 2.0.5)
wget https://github.com/erikbra/grate/releases/download/{version}/grate-linux-musl-x64-self-contained-{version}.zip
# Or use latest release
wget https://github.com/erikbra/grate/releases/latest/download/grate-linux-musl-x64-self-contained-{version}.zip
# Extract to a directory
unzip grate-linux-musl-x64-self-contained-{version}.zip -d grate-bin
# Install to system path
sudo cp grate-bin/grate /usr/local/bin/
sudo chmod +x /usr/local/bin/grate
3. Build from Source
For Alpine users who prefer to build from source:
# Install .NET SDK
apk add dotnet-sdk icu-libs
# Clone and build
git clone https://github.com/erikbra/grate.git
cd grate
dotnet build -c Release
Why Not Create an Alpine Package (.apk)?
While Alpine packages provide native integration with Alpine’s package manager (apk), creating and maintaining one is not currently prioritized because:
- Docker Coverage: The Docker image already provides excellent Alpine support and is the most common use case for Alpine users
- Binary Availability: Self-contained linux-musl binaries work on Alpine without modification
- Maintenance Overhead: Alpine packages require:
- Creating and maintaining APKBUILD files
- Submitting to and maintaining packages in Alpine’s repository infrastructure
- Following Alpine’s packaging guidelines and policies
- Regular updates synchronized with Alpine’s release cycle
- Limited Use Case: Most Alpine Linux usage is in containerized environments where Docker is the preferred distribution method
- Other Priorities: The project already supports 7+ distribution methods (Docker, .NET tool, Winget, Homebrew, Chocolatey, .deb, MSI)
Community Contributions
If there is significant demand for a native Alpine package, community contributions are welcome. The package would need to:
- Follow Alpine package creation guidelines
- Include proper APKBUILD files
- Be maintained in sync with grate releases
- Potentially be submitted to the Alpine package repository
Please open a discussion on the GitHub repository if you’re interested in contributing this.
Summary
Alpine Linux users are well-supported through:
- ✅ Official Docker image (Alpine-based)
- ✅ linux-musl standalone binaries
- ✅ Source code compilation
A dedicated Alpine .apk package is not currently planned but community contributions would be considered.