Generated by GPT-5-mini| Pagure | |
|---|---|
| Name | Pagure |
| Caption | Web UI for Pagure |
| Developer | Fedora Project, Red Hat |
| Released | 2012 |
| Programming language | Python |
| Operating system | Linux |
| License | GNU General Public License v2 |
Pagure is an open-source, web-based source code management system and forge designed to provide Git hosting, issue tracking, pull request workflow, and project wikis. It is developed within the Fedora Project and has seen contributions from organizations such as Red Hat, with deployments across academic, corporate, and public sector sites. Pagure emphasizes lightweight design, extensibility, and integration with continuous integration ecosystems used by projects like Jenkins, Travis CI, and GitLab CI.
Pagure originated in the early 2010s as a response to the needs of the Fedora Project for an in-house hosted Git collaboration tool that could replace or augment systems such as Bugzilla and third-party forges like GitHub. Early maintainers included contributors who had worked on Mercurial and git tooling. Over time Pagure absorbed ideas from existing projects including Gitea, Gerrit, and GitLab while focusing on a Pythonic stack compatible with Red Hat infrastructure. It gained production traction in academic environments, municipal deployments, and emergency response projects that had previously relied on tools like SourceForge or Launchpad. Significant milestones included integration with Systemd-based deployments and adoption by distributions related to Fedora Linux and CentOS.
Pagure offers core capabilities for collaborative development such as Git repository hosting, web-based merge requests, and an issue tracker interoperable with external systems like JIRA and Phabricator. It implements a pull-request-style workflow similar to GitHub Pull Requests and supports code review features comparable to Gerrit and Reviewboard. Project wikis use a simple markup and can be backed by repositories, drawing conceptual parallels to MediaWiki and Confluence. Authentication and authorization integrate with identity providers such as LDAP, SAML, and OAuth2 providers including GitHub, GitLab, and Google. For automation and CI/CD, Pagure exposes webhooks consumable by systems like Jenkins, Travis CI, and CircleCI. Backup and mirroring support allow synchronization with GitLab and Bitbucket instances.
Pagure is implemented primarily in Python and uses the Pylons/Flask ecosystem patterns with a WSGI-compatible application server such as Gunicorn or uWSGI. It stores metadata in a relational database like PostgreSQL or MariaDB and relies on the underlying git executable for repository operations, often invoking libgit2 bindings or command-line plumbing. The web frontend uses templating and JavaScript compatible with modern browsers; integrations for notifications and activity feeds can connect to Matrix or Rocket.Chat and email servers such as Postfix or Exim. Authentication can be delegated to directory services like FreeIPA or cloud identity platforms such as Okta. Deployment patterns follow common Linux service conventions found in systemd units and container orchestration with systems like Kubernetes or Docker Swarm.
Administrators deploy Pagure on Linux hosts using configuration management tools including Ansible, SaltStack, and Puppet. Packaged installations have been provided for distributions such as Fedora, CentOS, and Debian, while container images enable rapid setup on Kubernetes clusters alongside PostgreSQL and Redis services. Backup strategies involve repository mirroring to services like rsync targets or secondary Git servers, and database snapshotting integrated with tools like BorgBackup or Amanda. Logging and observability tie into Prometheus metrics and Grafana dashboards, with alerting routed through PagerDuty or OpsGenie. Role-based access control maps to organizational structures found in enterprises and institutions using Keycloak or FreeIPA.
The project has historically been stewarded by the Fedora Project community with contributors from Red Hat, various universities, and independent developers. Governance follows a meritocratic open-source process similar to models used by Debian and Apache Software Foundation projects, with issue triage on hosted trackers and code contributions reviewed via merge requests. Community communication occurs on mailing lists, IRC channels on networks like Libera Chat, and chat platforms such as Matrix and Discourse forums mirroring practices from GNOME and KDE communities. Documentation and translations have leveraged collaborative platforms used by Mozilla and Wikimedia projects.
Pagure implements repository access controls, audit logging, and support for two-factor authentication using tokens compatible with TOTP standards and hardware authenticators like YubiKey. Security hardening recommendations align with guidance from CVE processes and vulnerability response practices used by Red Hat and Ubuntu security teams. For compliance, administrators map Pagure deployments to organizational policies influenced by standards such as FedRAMP and internal frameworks present in institutions like NASA and European Commission projects. Integration with code quality and security scanners—examples include SonarQube, Bandit, and Dependabot—allows automated detection of license and dependency issues similar to workflows in OpenSSF initiatives.
Category:Free software hosting services