Skip to content

Private Maven Registry (CI/CD Setup)

Private Maven Registry (Reposilite) — Usage Guide

Section titled “Private Maven Registry (Reposilite) — Usage Guide”

Registry URL: https://maven.registry.hochguertel.work Auth: Authentik OIDC (browser) + Reposilite per-user tokens (CLI) Container: registry-maven

Maven Registry Auth Architecture

  • Browser login: Authentik OIDC (Authorization Code + PKCE) — plugin auto-provisions a per-user Reposilite token
  • CLI/CI login: Reposilite token (Basic auth) — username = token name, password = token secret
  • Repository: releases (private uploads)
<settings>
<servers>
<server>
<id>hochguertel-releases</id>
<username>infra</username>
<password><token-secret></password>
</server>
</servers>
</settings>
<distributionManagement>
<repository>
<id>hochguertel-releases</id>
<url>https://maven.registry.hochguertel.work/releases</url>
</repository>
</distributionManagement>
~/.gradle/gradle.properties
repoUser=infra
repoToken=<token-secret>
publishing {
repositories {
maven {
url = uri("https://maven.registry.hochguertel.work/releases")
credentials {
username = project.findProperty("repoUser") as String? ?: ""
password = project.findProperty("repoToken") as String? ?: ""
}
}
}
}
- name: Configure settings.xml
run: |
mkdir -p ~/.m2
cat > ~/.m2/settings.xml << 'EOF'
<settings>
<servers>
<server>
<id>hochguertel-releases</id>
<username>${{ secrets.MAVEN_TOKEN_NAME }}</username>
<password>${{ secrets.MAVEN_TOKEN_SECRET }}</password>
</server>
</servers>
</settings>
EOF
- name: Deploy
run: mvn deploy
AspectReposilite (Maven)Verdaccio (npm)DevPI (PyPI)Docker Registry
AuthReposilite token (Basic)htpasswd (Basic)Authentik API token (Basic)JWT (RS256) via auth-bridge
Token sourceOIDC login → Reposilite tokenhtpasswd fileAuthentik ak shellAuthentik ak shell
UI authAuthentik OIDC (native)Authentik OIDCAuthentik OIDC (native)Authentik SSO forward-auth
Push toolmvn deploy / gradle publishnpm publishuv publishpodman push

The complete guide with troubleshooting, token management, operations, and Gradle setup is in the registries repo: /opt/services/registries/docs/maven-registry-guide.md