This repository contains Docker images for Aptly components and tools.
- aptly
- Container with aptly tooling
- aptly-api
- Container running
aptly api serve
- Container running
- aptly-public
- Container running nginx and serving aptly's public directory
- aptly-publisher
- Container with
aptly-publisher
tool for management of Aptly publishes, requires running aptly-api
- Container with
- USER_ID - UID of aptly user (default 501)
- FULL_NAME - Full name for GPG key generation (if it doesn't already exist)
- EMAIL_ADDRESS - Email address for GPG key generation
To have persistant Aptly instance, you need to use persistent volume.
Recommended way is to bind-mount it into /var/lib/aptly
.
Run aptly API:
docker run -v /srv/aptly:/var/lib/aptly mirantis/aptly-api
Run aptly action, eg. list repos:
docker run -it -v /srv/aptly:/var/lib/aptly mirantis/aptly-api aptly repo list
To be able to provide access to repository, you can use aptly-web
image
which will run Nginx to serve aptly's public directory.
Simply bind-mount public directory on your aptly volume as /var/www/html
,
eg.:
docker run -v /srv/aptly/public:/var/www:ro mirantis/aptly-public
You can use aptly-publisher in a similar way as if it's installed on your system.
Run using docker:
docker run -it mirantis/aptly-publisher --help
Or create /usr/local/bin/aptly-publisher
with following:
#!/bin/bash -e
docker run -v $(pwd):/var/run/aptly-publisher:ro -it mirantis/aptly-publisher $@
and set exec permissions with chmod +x /usr/local/bin/aptly-publisher
.
Then you are able to use config file in your current directory.