Software repository API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
dave 185b638741 initial commit 2 years ago
repobot initial commit 2 years ago
templates initial commit 2 years ago
.dockerignore initial commit 2 years ago
.gitignore initial commit 2 years ago
Dockerfile initial commit 2 years ago
README.md initial commit 2 years ago
setup.py initial commit 2 years ago
start initial commit 2 years ago

README.md

docker-artifact

Software repository server

Artifact provides an HTTP API for repository management. Currently, Python and Apt repositories are supported.

Quickstart

  • Pull or build the image
  • docker run -it --rm -v /some/host/dir:/data -p 80:8080 artifact

Persistent data will be placed in /data. The webserver will listen on port 8080 by default.

Examples

Upload python package:

curl -vv -F 'f=@pyircbot-4.0.0.post3-py3.5.egg' 'http://host/addpkg?provider=pypi&reponame=main&name=pyircbot&version=4.0.0'

Install python packages:

pip3 install -f http://host/repo/pypi/main/ --trusted-host host repobot

Upload apt package:

curl -vv -F 'f=@extpython-python3.7_3.7.0_amd64.deb' 'http://host/addpkg?provider=apt&reponame=main&name=extpython-python3.7&version=3.7.0&dist=bionic'

Install apt packages:

wget -qO- http://host/repo/apt/main/repo.key | apt-key add - && \
echo "deb http://host/repo/apt/main bionic main" | tee -a /etc/apt/sources.list && \
apt-get update && \
apt-get install -y extpython-python3.6

Notes

  • Repos are created automatically when a package is added to them.
  • Repo URLs are structured as: /repo/<provider>/<name>. Deeper URLs are handled directly by the provider.
  • The apt provider will generate a gpg key per repo upon repo creation

Todo

  • Auth
  • Delete packages
  • Human-readable package listing
  • Support using existing GPG keys