Introduction to Copr
Copr (“Community projects”) is a service that builds your open-source projects and creates your own RPM repositories. It’s designed to be a lightweight build system that allows contributors to create packages, put them in repositories, and make it easy for users to install the packages onto their system.See Copr in action at copr.fedoraproject.org
What is Copr?
Copr is a build system available for everyone with a Fedora Account System (FAS) account. You provide the source RPM, and Copr provides a YUM/DNF repository with your built packages. Use Copr for:- Upstream builds and continuous integration
- Creating repositories for projects not yet in official Fedora repositories
- Testing package changes before submitting to Fedora
- Building packages for multiple distributions and versions
- Collaborative package development with teams
Key features
Multiple build sources
Build from SRPMs, Git repositories, DistGit, PyPI, RubyGems, or custom scripts
Multi-distribution support
Build for Fedora, EPEL, and custom chroots with different architectures
Automated workflows
Set up webhooks for GitHub, GitLab, Bitbucket, and Pagure to trigger builds automatically
Team collaboration
Share project access with team members and FAS groups
Repository management
Automatic repository creation with GPG signing and metadata generation
Build customization
Custom build dependencies, macros, and buildroot configurations
Build workflow
The typical Copr build workflow follows these steps:Get started
Quickstart
Get from zero to your first successful build in minutes
Installation
Install copr-cli and python-copr client library
Build sources
Learn about different ways to submit builds (SRPM, Git, PyPI, etc.)
API reference
Explore the Copr API and automation options
Public Copr instances
While this documentation primarily focuses on the Fedora Copr instance, several public instances are available:- copr.fedorainfracloud.org - The default Fedora Copr instance
- copr.stg.fedoraproject.org - Staging instance for testing upcoming changes (data periodically deleted)
- openEuler Copr - Instance for the openEuler community
What you can build
You can build any open-source software that:- Has a license included in the Fedora allowed licenses list
- Does not violate the Fedora Code of Conduct
- Complies with applicable laws and regulations
Packages in Copr do not need to follow the Fedora Packaging Guidelines, though following them is recommended. Kernel modules are allowed in Copr.
Is Copr safe to use?
Copr is free software with publicly available source code. The service uses standard Fedora packaging toolsets, and repositories are GPG-signed. All Copr servers are deployed within Fedora infrastructure. Only people with FAS accounts can create projects and build packages. You can review each project owner’s information and examine build sources, SRPMs, and spec files to verify trustworthiness.Community and support
- Source code: github.com/fedora-copr/copr
- Documentation: docs.pagure.org/copr.copr
- Report bugs: Bugzilla
- Security issues: GitHub Security