A ready to use Docker image for devpi. It includes the following plugins and components:
- devpi-server (>=4.0.0), devpi-web and devpi-client
- Semantic UI theme (with patches).
- devpi-ldap
- devpi-findlinks
- devpi-cleaner
- devpi-slack
devpi
needs its own folder to store packages and data, which you probably want
to map a volume to. Additionally, map TCP port 3141.
docker run -d -p 3141:3141 -v /some/place:/devpi \
--name devpi-server lordgaav/devpi:latest
The first time it runs, the startup script will generate a password for the root
user and store it in .root_password
in the volume.
If you want to use the LDAP plugin, you need to map the YAML configuration file
into the Docker and tell devpi-server
to use it:
docker run -d -p 3141:3141 -v /some/place:/devpi -v /path/to/ldap.yml:/ldap.yml \
--name devpi-server lordgaav/devpi:latest --ldap-config=/ldap.yml
A small helper script is provided to manipulate the running container. The
script will automatically log in as the root
user for running commands.
$ docker exec -it devpi-server devpi-client -h
logged in 'root', credentials valid for 10.00 hours
usage: /usr/local/bin/devpi [-h] [--version] [--debug] [-y] [-v]
[--clientdir DIR]
{quickstart,use,getjson,patchjson,list,remove,user,login,logoff,index,upload,test,push,install,refresh}
...
Alternatively, you can start an interactive shell.
$ docker exec -it devpi-server devpi-client bash
logged in 'root', credentials valid for 10.00 hours
root@c4fa8a7b14cf:/#