pypiron
ghcr.io/blackthorn-interstellar/pypiron:latest
https://ghcr.io/blackthorn-interstellar/pypiron
bridge
false
https://github.com/blackthorn-interstellar/pypiron/issues
https://pypiron.com
Self-hosted PyPI server that does four jobs from one URL and one binary: hosts your private uploads, mirrors an allowlist of public packages, proxies the rest of PyPI on demand, and serves it all from a standard simple index. No database — the files on disk ARE the truth and the indexes are regenerable views, so backups are just the appdata folder. Speaks pip / uv / poetry / pdm / twine unchanged.
Point pip or uv at http://YOUR-UNRAID-IP:8080/simple/ and you have a working index. Set the Admin Password to enable uploads and admin (publish / delete / yank / mirror); leave it blank for a read-only public index. To proxy public PyPI on demand, set Proxy Upstream to https://pypi.org/simple/.
Notes for Unraid: the container runs as the standard appdata user (99:100) so it can write to /data. The Data path IS your registry — back it up. Heads-up: pypiron is early (version 0.0.0 placeholder, beta) — run it where the blast radius is bounded.
Network:Management Tools:Utilities
http://[IP]:[PORT:8080]/
https://raw.githubusercontent.com/blackthorn-interstellar/pypiron-unraid/master/icon.png
https://raw.githubusercontent.com/blackthorn-interstellar/pypiron-unraid/master/templates/pypiron.xml
https://raw.githubusercontent.com/blackthorn-interstellar/pypiron-unraid/master/README.md
--user 99:100
pypi python package index registry mirror proxy private devpi pypiserver bandersnatch proxpi uv pip twine
Outbound internet is only needed if you enable the proxy or sync. A pure private index needs none.
### 0.0.0
Initial Community Applications release.
2026-06-29
6.12.0
MIT
8080
/mnt/user/appdata/pypiron
admin
/data/spool