Giter Site home page Giter Site logo

debify's Introduction

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:

  • GPG_PASSPHRASE: A passphrase to use when running GPG, if you need it.

  • GPG_PASSPHRASE_FILE: A passphrase file to use when running GPG, if you need it (hint: mount this file into the container somewhere and specify the path in the container).

  • APTLY_DISTRIBUTION: Defaults to unstable. Some projects may choose to use a specific Debian distribution (wheezy, trusty, jessie, etc.), while cross-distribution packages might want to just use the project name (for example, "docker").

  • APTLY_ARCHITECTURES: List of architectures to consider. Will try to guess if not provided.

  • APTLY_COMPONENT: Defaults to main. See the Debian wiki if you're confused about this.

  • KEYSERVER: Defaults to keyserver.ubuntu.com. The keyserver where your GPG key has been published. Used for the go script.

  • URI: The URI where this Debian repo will be published. Used for the go script.

Under the Covers

Debify is a wrapper around Aptly.

Build & release

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.