Loading…
Upload Package
Drop an .rpm file — it will be GPG-signed, indexed and immediately available via DNF.
Drag & drop your .rpm here
or
📂 Repository Placement (auto-detected from RPM metadata if left blank)
Client Setup
Follow these steps to configure dnf to install packages from this registry.
1
Import the GPG Public Key
This allows DNF to verify package and metadata signatures.
Bash
sudo rpm --import http://localhost:8000/gpg/RPM-GPG-KEY
2
Add the Repository
Create a .repo file — or download the auto-generated one:
Bash
sudo curl -o /etc/yum.repos.d/rpm-registry.repo \ "http://localhost:8000/api/repo-file?base_url=http://localhost:8000"
Or create it manually:
/etc/yum.repos.d/rpm-registry.repo
[rpm-registry] name=RPM Registry baseurl=http://localhost:8000/repo/ enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=http://localhost:8000/gpg/RPM-GPG-KEY
3
Install Packages
Bash
dnf install <package-name>
GPG Key Fingerprint
Loading…
REST API Reference
Full OpenAPI spec available at /docs
Packages
GET
/api/packages
List & search packages. Supports
q, arch, latest_only, page, per_page.
GET
/api/packages/latest
Return the latest version of every unique name+arch.
GET
/api/packages/{name}
All versions of a named package.
POST
/api/packages/upload
Upload an RPM (multipart/form-data). Signs & re-indexes automatically. Requires
X-Api-Key if configured.
DEL
/api/packages/{id}
Delete a package by numeric ID.
GPG
GET
/api/gpg/public-key
Returns armored public key as JSON.
GET
/gpg/RPM-GPG-KEY
Raw public key (used in .repo file gpgkey= field).
POST
/api/gpg/regenerate
Regenerate GPG key pair. Invalidates all previous signatures.
Utility
GET
/api/status
Repository statistics and GPG key info.
GET
/api/repo-file
Returns a ready-to-use
.repo file. Pass ?base_url=….
GET
/repo/
Static RPM tree root. DNF baseurl points here.