Docker-compose setup to run a local Python Package Index (PI).
Runs a devpi container and a [replica][rep]
behind an Nginx instance for maximal modularity.
Per default it caches the real Python Package index at pypi.org.
Packages that do not exist locally will be forwarded from there.
LDAP authentication is enabled for root/test
.
[Video: Release Management with Devpi][erb]
First you will have to copy template_.env
to .env
in the project root
and edit the latter to your linking.
Then you should generade an ssl certificate and key named ./nginx/dkdevpi.crt
/.key
respectively.
You will probably want to generate it for both an IP and several DNS names and sign it with a root certificate.
That can be achieved most easily with a GUI-tool like xca
After that, try your luck with build.sh run
.
Remember docker logs <containername>
is your friend and its -f
and --tail <number_of_lines>
options are, too.
Some packages inside the Dockerfiles are version-pinned.
That might cause their installation to fail as they are no longer available in that version.
Should that be the case, try to replace them with a more recent one and test the resulting setup carefully.
If everything went well, and you did not change the port setup, your package index should be reachable under:
http://localhost:6970/
https://localhost:6943/
Inside the devpi container run:
devpi-server --serverdir=/devpi/server --passwd root
- More and better documentation, sorry.
- Incorporate letsencrypt if no certificate provided
- Look into an actual devpi_ plugin for the modified theme
- ...that allows changing a few strings in template
- ...and doesn't need the
sed
hack
This is a personal project. The Author prefers if you ignored it, until it is ready. All rights reserved for now.