Quickstart guide
This guide will walk you through creating your first Copr project and building your first package. If you’re completely new to Copr, you’re in the right place.Before you begin, make sure you have a source RPM (SRPM) ready to build. If you don’t have one yet, see the RPM Packaging Guide for instructions.
Prerequisites
You’ll need:- A Fedora Account System (FAS) account
- A source RPM file or a Git repository with a .spec file
- A Fedora-based system with DNF package manager (for CLI installation)
Step-by-step setup
Create a FAS account
Register for a Fedora Account System account at accounts.fedoraproject.org.This account gives you access to Copr and other Fedora infrastructure services.
Log in to Copr
Visit copr.fedorainfracloud.org and click the login link in the top right corner.Use your FAS credentials to authenticate.
Generate API token
Navigate to the API token page at copr.fedorainfracloud.org/api.Copy the generated configuration and save it to The configuration file should look like this:
~/.config/copr on your local machine:Create your first project
Create a project and specify which distributions you want to build for (chroots):You can specify multiple chroots to build for different distributions:
Use
copr-cli list-chroots to see all available build targets.Submit your first build
Build from a local SRPM file:Or build from a publicly accessible SRPM URL:The command will output a build ID and URL where you can monitor progress:
Builds typically take 5-15 minutes depending on package complexity and builder availability.
Build from Git repository
Instead of building from SRPMs, you can build directly from Git:Web UI workflow
You can also manage everything through the web interface:Create project
Click “New Project” from your Copr homepage and fill in:
- Project name
- Chroots (build targets)
- Optional: description, instructions, external repositories
Submit build
Go to your project page and click “Builds” → “New Build”Choose your source type:
- Upload SRPM directly
- Provide URL to SRPM
- Build from Git/DistGit/SVN
- Build from PyPI or RubyGems
Common build options
Background builds
For mass rebuilds or lower-priority builds, use the--background flag:
Specific chroots
Build only for specific targets instead of all project chroots:Build dependencies
If your package depends on another Copr repository or external repository, add it to your project settings:Next steps
Build sources
Explore different source types: Git, DistGit, PyPI, RubyGems, and custom scripts
Webhooks
Set up automated builds triggered by Git push events
Team collaboration
Share project access with collaborators and groups
API automation
Use the Copr API and python-copr library for automation
Troubleshooting
Build failed
Check the build logs for errors:- Click on the build ID from the command output or web UI
- Select the failed chroot
- Review
build.log.gzfor compilation errors - Review
root.log.gzfor dependency issues
Authentication errors
If you get authentication errors:- Verify your
~/.config/coprfile has the correct token - Check file permissions:
chmod 600 ~/.config/copr - Re-generate your API token from the web UI if needed
Repository not found
After enabling a repository, if DNF can’t find it:- Ensure the build completed successfully
- Wait a few minutes for CDN propagation
- Try
dnf clean all && dnf makecache
For more help, see the FAQ section or report an issue.