stowix deb push

Push Debian packages to a Stowix APT repository.

Synopsis

stowix deb push [flags] <file.deb> [<file.deb>...]

Description

stowix deb push uploads one or more .deb packages to a Stowix APT repository. The server handles APT index generation automatically — you do not need to manage Packages, Release, or InRelease files manually.

For each package, the CLI:

  1. Reads the control file metadata (package name, version, architecture) from the .deb.
  2. Sends a prepare request to the server, which validates the metadata and returns upload credentials.
  3. Uploads the package blob.
  4. Commits the upload, triggering server-side APT index regeneration.

Flags

FlagEnv VarRequiredDefaultDescription
--target <url>STOWIX_TARGETYes

Full URL of the target repository, e.g. https://acme.stowix.io/apt-internal

--distribution <name>STOWIX_DISTRIBUTIONYes

Debian distribution codename, e.g. bookworm, noble

--component <name>STOWIX_COMPONENTNomain

APT component, e.g. main, contrib

--token <token>STOWIX_TOKENNoAPI token for authentication

--verbose / -v

NofalseEnable verbose logging

Examples

# Push a single .deb for bookworm
stowix deb push \
  --target https://acme.stowix.io/apt-internal \
  --distribution bookworm \
  mypackage_1.0.0_amd64.deb

# Push multiple packages
stowix deb push \
  --target https://acme.stowix.io/apt-internal \
  --distribution bookworm \
  --component contrib \
  pkg1_1.0_amd64.deb pkg2_2.0_amd64.deb

Authentication

Pushing packages

Pass your API token via the --token flag or the STOWIX_TOKEN environment variable:

export STOWIX_TOKEN=stx_live_01JABCDEF1234567890ABCDEF_Kw3mZ9xRvN2pLqYfBsHtUeAc
stowix deb push --target https://acme.stowix.io/apt-internal --distribution bookworm mypackage_1.0.0_amd64.deb

Consuming a private repository with apt

apt authenticates using HTTP Basic auth. Stowix accepts the API token as the password field (the username is ignored). Add your credentials to /etc/apt/auth.conf.d/stowix.conf:

machine acme.stowix.io
login token
password stx_live_01JABCDEF1234567890ABCDEF_Kw3mZ9xRvN2pLqYfBsHtUeAc

Replace acme.stowix.io with your organization's Stowix hostname. Once this file is in place, apt update and apt install will authenticate automatically.

APT Source Configuration

To consume a Stowix APT repository on a Debian or Ubuntu system:

# Add the repository to your sources list
echo "deb https://acme.stowix.io/apt-internal bookworm main" \
  | sudo tee /etc/apt/sources.list.d/stowix.list

# Import the signing key (from Dashboard → Repositories → apt-internal → Signing Key)
curl -fsSL https://acme.stowix.io/apt-internal/key.gpg \
  | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/stowix.gpg

sudo apt update
sudo apt install mypackage

Replace bookworm with the distribution codename you used when pushing packages, and apt-internal with the name of your repository.