Getting Started

Install SOW, publish a working repository in five minutes, and learn the model behind it.

SOW is one static binary that builds APT and YUM repositories. You do not install a server, you do not install createrepo_c or reprepro, and you do not configure a daemon. You drop the binary on a machine, point it at some packages, and copy the result to any static web server.

There are two ways to use it, and they never touch each other. sow create takes a plain directory of .rpm and .deb files and writes repository indexes next to them — that is all it does, and it is the fastest way to get something servable. The managed workspace is the other path: a package pool, named distributions, per-architecture views, membership policy, GPG signing, and an audit trail for every change. Start with the first, move to the second when you need to curate what goes in.

Read these four pages in order and you will have both paths working, with a clear idea of which one your situation calls for.

What you need

A Linux or macOS machine on amd64 or arm64, and enough free space for the packages you plan to publish. Nothing else — SOW parses RPM headers and Debian control files itself and writes the indexes in-process.

Two operations do shell out to the environment: signing RPM package payloads, and signing repository metadata with a key held by gpg-agent. Both are optional and both are covered in Installation.

Where to go next

If you want to…Read
Publish a directory of packages right nowQuick Start
Curate a long-lived repositoryFirst Workspace
Understand pools, views, and generationsCore Concepts
Build a production YUM or APT repositoryTutorials
Look up a flag, field, or exit codeReference

Install SOW

Download a prebuilt binary or build from source, then verify the install.

Quick Start

Turn a directory of packages into a servable repository, then install from it with dnf or apt.

Your First Workspace

Create a managed workspace with RPM and DEB distributions, add packages, and inspect the result.

Core Concepts

The model behind SOW: two modes, four layers, and the split between what you asked for and what is published.

Last modified: 2026-08-08: init commit (fe725aa)