spotify/debify

Name: debify

Owner: Spotify

Description: Tool for building simple Debian repositories

Created: 2015-02-20 21:55:15.0

Updated: 2018-05-18 06:25:44.0

Pushed: 2016-05-31 10:09:36.0

Homepage: null

Size: 112

Language: Shell

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Debify

Debify takes a directory full of Debian packages and creates a signed and properly-structured Debian repository out of them.

Usage

Run the Debify image, mounting two volumes to special mount points:

  1. /.gnpug: Mount your GPG directory containing the key you want to sign the repository with here.

  2. /debs: Mount a directory containing all your Debian packages here.

A tarball of the resulting Debian repository will be written to /debs/repo.tar.gz.

If you specify URI and KEYSERVER enviornment variables, the tarball will also contain a go script for setting up the repository.

Example

Let's say I have a bunch of Debian packages at ~/my-debs, and I've imported or created a GPG key for signing everything with. Here's how I might run Debify if I plan on publishing the repo to http://example.com/apt:

$ docker run -e URI=http://example.com/apt \
             -e KEYSERVER=keyserver.ubuntu.com \
             -v ~/.gnupg:/.gnupg \
             -v ~/my-debs:/debs \
             spotify/debify
Serving

As an example, if you publish the contents of the tarball to http://example.com/apt, users can consume it like this:

$ curl -sSL http://example.com/apt/go | sudo sh
$ apt-get install <your-package>

Note that this presupposes that you've published the GPG key used to sign the artifacts to keyserver.ubuntu.com.

If you haven't published the key, Debify will not generate a go script. Your users will manually need to add your key using apt-key add and then add your repo to their sources.list by hand. Barbaric.

Configuration

Here are some optional environment variables you can specify when running a Debify container:

Under the Covers

Debify is a wrapper around Aptly.

Build & release

Build with docker build .. Released via an automatic build on the Docker Hub.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.