Documentation
How to run this registry in production, publish packages, and point Maven or npm at your repositories. Replace main with your repository key from the admin UI.
Registry API base URL
Maven and npm clients talk to the registry API directly (not the admin UI proxy). This page uses:
https://repo-api.modlabs.cc
Set NEXT_PUBLIC_REGISTRY_API_ORIGIN or NEXT_PUBLIC_API_URL in the UI build, or API_UPSTREAM on the server, so examples match your environment.
- Maven repository URL pattern:
https://repo-api.modlabs.cc/repo/maven/<repository-key>/ - npm registry URL pattern:
https://repo-api.modlabs.cc/repo/npm/<repository-key>/
Artifacts: download & publish
Maven
Private repositories require Authorization: Bearer (registry access token from Tokens after sign-in, or a valid OIDC access token). Public repos allow anonymous reads.
Example repository URL (hosted repo key main):
https://repo-api.modlabs.cc/repo/maven/main/Add a server in ~/.m2/settings.xml (password is your token; username is ignored):
<server>
<id>modlabs-main</id>
<username>token</username>
<password>YOUR_REGISTRY_OR_OIDC_ACCESS_TOKEN</password>
</server>Point <repositories> / <distributionManagement> at the same URL, with <id> matching the server id. Deploy with the Maven Deploy plugin (mvn deploy) once pom.xml uses that repository id.
npm
Use a project or user .npmrc. npmrc reference. npm adduser is not implemented; set _authToken manually.
registry=https://repo-api.modlabs.cc/repo/npm/main/
//repo-api.modlabs.cc/repo/npm/main/:_authToken=YOUR_REGISTRY_OR_OIDC_ACCESS_TOKEN
always-auth=trueInstall: npm install. Publish: npm publish.
Deploy this registry (operators)
Typical layout: API and Postgres on a VPS or PaaS; admin UI on Cloudflare Workers (OpenNext).
- Coolify — coolify.io; run the repo-root
docker-compose.ymlstack; see projectREADME.mdfor env (infra/.env.example). - Docker — Install Docker, then Compose with
infra/.env. - Cloudflare Workers (this UI) — Next.js on Workers, OpenNext Cloudflare, Wrangler CLI. From
frontend/:pnpm run cf:deploywithAPI_UPSTREAMpointing at your public API HTTPS URL.
Ensure CORS_ORIGINS on the API lists your UI origin exactly, and OIDC_REDIRECT_URI matches https://<ui-host>/auth/callback.