Build and distribute your own RPM and DEB packages — with your own repository

We had centralized software repositories long before the App Store. Why is distributing software for Linux still so hard? OmniPackage makes it easy.

Create RPM and DEB packages for many distros and publish them to a self-hosted apt, dnf, or zypper repository on any S3-compatible storage. Runs on GitHub Actions, your laptop, or anywhere else.

License: GPL-3.0 CI status Available via OmniPackage stable repository Available via OmniPackage master (unstable) repository

OmniPackage is an open-source CLI that builds RPM and DEB packages and publishes them to your own apt, dnf, or zypper repository on S3-compatible storage. It helps you scaffold an RPM spec file and the equivalent files for DEB, then spawns rpmbuild and dpkg-buildpackage inside containers for each supported distro. Packages are signed with your GPG key and uploaded to your bucket, which serves as a self-hosted repository. It also generates a web page with instructions for users to add the repository and install your software — share the link, and they're done.

One command to build, sign, and publish your packages:

omnipackage release ~/projects/my-awesome-project

How it works

  1. 1

    Scaffold

    OmniPackage helps you scaffold an RPM spec file and the other files required for DEB and RPM packaging.

  2. 2

    Release

    Fill in your S3 credentials and a few other config options, then run omnipackage release. Packages are built in containers for each distro, signed with your GPG key, and uploaded to your bucket.

  3. 3

    Share

    Share the install page generated alongside the packages so your users can add the repository and install your software with their native package manager.

From your users' perspective

On the latest Ubuntu, for example, they run four commands to add the repository and install your package:

echo 'deb https://repositories.omnipackage.org/omnipackage-rs/stable/ubuntu_26.04 stable/' | sudo tee /etc/apt/sources.list.d/omnipackage_omnipackage.list
curl -fsSL https://repositories.omnipackage.org/omnipackage-rs/stable/ubuntu_26.04/stable/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/omnipackage_omnipackage.gpg > /dev/null
sudo apt-get update
sudo apt-get install omnipackage

Users do this once. From then on, updates to your software arrive through apt upgrade alongside everything else from the official Ubuntu repos — no extra steps, no separate updater. The same applies on Debian, Fedora, openSUSE, and the other supported distros, each through its native package manager.

Supported distros

All packages are built for x86_64.

Loading supported distros…

Fetched live from distros.yml in the OmniPackage repo.

No vendor lock-in

  • Open source and not tied to any cloud or hosting provider
  • Use your own S3 bucket for repositories — AWS S3, Cloudflare R2 (recommended for free egress), MinIO, or any S3-compatible service
  • No subscriptions, registrations, or credit cards

What OmniPackage doesn't do

  • Build new package formats. RPM and DEB only — Flatpak, Snap, AppImage, AUR, and Nix are different bets.
  • Host your repository. You bring the bucket — the trade-off is no vendor lock-in and your packages live in storage you control.
  • Sandbox installed software. Packages run with the same privileges any apt install package gets — there's no Flatpak-style isolation unless you ship it as part of your package (e.g. an AppArmor / SELinux profile, or a bwrap / firejail wrapper around your binary).

Projects using OmniPackage

Frequently asked questions

Does OmniPackage require Docker?
No. Podman works too and is recommended — it is the most-tested runtime. Docker is supported as well. Either is auto-detected; you can force one with the --container-runtime flag.

Can I distribute proprietary software with OmniPackage?
Yes. Unlike official distro repositories, your own OmniPackage repository can host any binaries you want, including closed-source ones.

How is OmniPackage different from Snap, Flatpak, or AppImage?
Snap and Flatpak ship their own runtimes; AppImage bundles dependencies. OmniPackage builds native RPM and DEB packages so users install with apt, dnf, or zypper — no extra runtime, no sandbox, no separate installer. Updates arrive through the system package manager alongside everything else.

What architectures does OmniPackage support?
x86_64 today.

Can I host the apt or yum repository on AWS, Cloudflare R2, or MinIO?
Yes. OmniPackage uploads to any S3-compatible storage. Cloudflare R2 is recommended for free egress; AWS S3 and MinIO also work, as does any other S3-compatible service. The bucket serves as a self-hosted apt, dnf, or zypper repository.

Is OmniPackage free?
Yes. OmniPackage is free and open-source software, licensed under GPL-3.0.