Skip to main content

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:
1

Create a project

Set up a project with your desired build targets (chroots) and configuration
2

Submit a build

Provide your source (SRPM, Git URL, etc.) to start the build process
3

Build execution

Copr builds your package in isolated environments for each target
4

Repository creation

Successfully built packages are automatically added to your project repository
5

Share and install

Users can enable your repository and install packages with DNF

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:

What you can build

You can build any open-source software that:
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

Ready to get started? Head over to the quickstart guide to build your first package.

Build docs developers (and LLMs) love