Private Registries

Internal npm, PyPI, Docker, and Composer registries for mirrors.outoforder.space. Ask an admin for credentials if you don't have an account yet.

npm PyPI Docker Composer Accounts

npm Verdaccio

Proxies and caches the public npm registry, and hosts private/scoped packages. Registry URL: https://npm.mirrors.outoforder.space

Site-wide auth (installs only): reads — npm install, npm pack, browsing — sit behind HTTP basic auth (user admin) — ask an admin for the password. npm login and npm publish below skip this and use your personal Verdaccio account instead.

Set up installs (reads)

npm login won't help here — it only sets Verdaccio's own token, which isn't what the site-wide basic auth checks. Add this to .npmrc instead (project or ~/.npmrc): username plain, _password base64-encoded (password only, not user:pass combined):

//npm.mirrors.outoforder.space/:username=admin
//npm.mirrors.outoforder.space/:_password=<base64 of the-shared-password>
//npm.mirrors.outoforder.space/:always-auth=true

Log in (to publish)

npm adduser --registry=https://npm.mirrors.outoforder.space

Use it for everything (recommended)

Set it as your default registry so installs of public packages are cached too:

npm config set registry https://npm.mirrors.outoforder.space

Use it only for your org's scope

Add to .npmrc (project or ~/.npmrc):

@myorg:registry=https://npm.mirrors.outoforder.space

Publish

npm publish --registry=https://npm.mirrors.outoforder.space

PyPI devpi

Two indexes are available, both replicated from the master devpi-server. Base URL: https://pypi.mirrors.outoforder.space

IndexPurpose
root/pypiPull-through mirror/cache of public PyPI
root/prodInternal packages
Site-wide auth: browsing and pip install sit behind HTTP basic auth (user admin) — ask an admin for the password. Uploads (below) skip this and use devpi's own per-user permissions instead.

Install from public PyPI (via the mirror)

pip install --index-url https://pypi.mirrors.outoforder.space/root/pypi/+simple/ requests

Install internal packages, falling back to public PyPI

pip install \
  --index-url https://pypi.mirrors.outoforder.space/root/prod/+simple/ \
  --extra-index-url https://pypi.mirrors.outoforder.space/root/pypi/+simple/ \
  some-internal-package

Make it the default (avoid retyping index URLs)

Add to ~/.pip/pip.conf (or %APPDATA%\pip\pip.ini on Windows):

[global]
index-url = https://pypi.mirrors.outoforder.space/root/prod/+simple/
extra-index-url = https://pypi.mirrors.outoforder.space/root/pypi/+simple/

Publish internal packages

Upload straight through this mirror — it relays the request to the master devpi-server and only reports success once synced back. Uploads skip the site-wide basic auth above and use your devpi account's own permissions instead; ask an admin for an account with root/prod upload access:

pip install devpi-client
devpi use https://pypi.mirrors.outoforder.space/root/prod
devpi login <your-username>
devpi upload

Docker Harbor

Registry URL: docker.mirrors.outoforder.space. Browse projects, RBAC, and vulnerability scan results in the web dashboard.

Log in

docker login docker.mirrors.outoforder.space

Push

docker tag myimage:latest docker.mirrors.outoforder.space/myproject/myimage:latest
docker push docker.mirrors.outoforder.space/myproject/myimage:latest

Pull

docker pull docker.mirrors.outoforder.space/myproject/myimage:latest
CI/automation: use a Harbor robot account scoped to your project instead of a personal login — ask an admin to create one, or see scripts/harbor-user.sh.

Composer Packeton

Registry URL: https://composer.mirrors.outoforder.space. Browse and mirror packages, generate API tokens, in the web dashboard.

No site-wide auth here: unlike npm/PyPI above, there's no shared basic-auth password gating reads — Composer authenticates every request with your own personal API token instead (from your profile menu after logging in), so there's nothing extra to configure at the edge.

Set up (once per machine)

composer config --global --auth http-basic.composer.mirrors.outoforder.space <your-username> <your-api-token>

Use it in a project

Public packages (anything on packagist.org) are served from the /mirror/packagist path, not the bare registry root — the root domain is for privately-hosted packages you push to Packeton directly:

composer config repositories.mirror composer https://composer.mirrors.outoforder.space/mirror/packagist
composer require monolog/monolog

For your own private packages, add a second repository pointing at the root domain instead:

composer config repositories.internal composer https://composer.mirrors.outoforder.space
composer require myorg/somepackage

Getting an account

All four registries require authentication to publish/push; npm, Docker, and Composer also require it to log in/install at all. Accounts are created by an admin — reach out with your desired username to get set up on: