Automated, signed Debian/Ubuntu packages for the Hiawatha web server
Hiawatha is a lightweight web server renowned for its robust security, elegant simplicity, and minimal resource consumption.
This repository provides up-to-date, reproducible .deb packages built automatically from the official upstream GitLab releases.
Maintainer: Chris Wadge <cwadge@tuxhelp.org>
GitHub: cwadge | GitLab: cwadge
# Import the signing key
curl -fsSL https://cwadge.github.io/hiawatha-pkg/hiawatha.asc \
| gpg --dearmor \
| sudo tee /usr/share/keyrings/hiawatha.gpg > /dev/null
# Add the repository
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/hiawatha.gpg] \
https://cwadge.github.io/hiawatha-pkg/repo $(lsb_release -cs) main" \
| sudo tee /etc/apt/sources.list.d/hiawatha.list
# Install
sudo apt update && sudo apt install hiawathaThe service is enabled and started automatically on installation.
| Distribution | Codename | Architecture |
|---|---|---|
| Debian 13 (Stable) | trixie | amd64, arm64 |
| Debian 12 | bookworm | amd64, arm64 |
| Ubuntu 24.04 LTS | noble | amd64, arm64 |
| Ubuntu 22.04 LTS | jammy | amd64, arm64 |
- Every package is built in a clean Docker environment from official upstream GitLab tags.
- Packages are signed with a dedicated GPG key.
- The entire build pipeline is open source and runs publicly on GitHub Actions.
- Source for this packaging repo: github.com/cwadge/hiawatha-pkg
- Package-specific issues, repository problems, etc. → GitHub Issues
- Hiawatha issues (bugs, feature requests, etc.) → Hiawatha GitLab
- Questions? Feel free to open an issue or reach out via email.
- The pipeline and repo code is licensed under the MIT License.
- Hiawatha Webserver is licensed under the GNU GPL v2.
This repo is intentionally minimal so it stays easy to maintain. PRs for the CI/CD pipeline are welcome.
The workflow is also designed to be easily forkable for internal use. If you want to run a private package repository for a different project, whether for internal corporate tooling or another upstream, the only values you need to change are a five-line configuration block at the top of .github/workflows/distribution.yml and generate your own keypairs. Everything else (Pages URL, repo links, artifact paths) derives from GitHub context automatically.
Enjoy using Hiawatha!