github.com/haskell/hackage-server

Hackage-Server: A Haskell Package Repository

Open this visualization on its own page →

Contributors

124

Lines of Code

5,777

From

2008-06-22

To

2020-11-04

About haskell/hackage-server

Hackage-Server is the software that powers Hackage, the central package repository for the Haskell programming language, as well as many private Hackage instances. Written in Haskell, it provides the infrastructure for hosting, distributing, and managing Haskell packages built with Cabal. The master branch is suitable for general deployment, while the central-server branch contains specific policies and documentation for the official Hackage instance.

The server handles core package repository operations including package uploads, indexing, and distribution to developers and tools. It includes features for user management, package mirroring from other Hackage instances, and web-based interfaces for browsing and managing packages. The project provides multiple installation paths: users can deploy it using Nix Flakes for dependency management, or manually install required system libraries like libgd, zlib, libbrotli, and openssl across various Linux distributions and macOS.

The project supports mirroring workflows, allowing administrators to synchronize packages from the central Hackage server or other sources to local instances. The mirroring system can operate in one-time sync mode or continuous synchronization with configurable intervals, making it practical for organizations that need offline package repositories or want to maintain backups of the package ecosystem.

Share this video