# SUSE/Portus

Authorization service and frontend for Docker registry (v2)

Repository: https://github.com/SUSE/Portus
Canonical: https://ross.abutalabs.com/products/portus
Homepage: http://port.us.org/
Language: Ruby
License: Apache-2.0
License Family: permissive
Topics: docker-distribution, docker, security, ruby, containers, rails
Archived: true
Last push: 2023-01-19T11:16:56+00:00

## Health v2 (maintenance only)
Score: 10/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4160, "days_push": 1322, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: archived
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2981, forks 455 (observed 2026-08-28T04:07:33.191972+00:00)

## What it is
Portus is an open-source authorization service and web UI for the Docker Registry v2 API, providing fine-grained push/pull permissions via token-based authentication. It supports teams and namespaces, LDAP/OAuth/OpenID Connect login, auditing, search, and security scanning integration for self-hosted registries.

## Use cases
- secure a private docker registry with authentication
- manage team permissions for container images
- self-host a docker registry with a web UI
- add LDAP login to a docker registry
- audit who pushed and pulled container images
- control which users can push or pull docker images

## When to choose
- you run Docker Distribution on-premise and need fine-grained access control
- you want a web interface and audit trail for your private registry
- you need LDAP, OAuth, or OpenID Connect authentication for registry users

## When to avoid
- you need a modern actively developed registry UI - consider alternatives like Harbor or Zot
- you use a registry other than Docker Distribution v2
- you need Kubernetes-native registry features

## Facets
- artifact type: application
- maturity: maintenance
- function: auth, authorization, web-framework, security, search-engine, monitoring
- domain: security, self-hosted, web-development
- platform: self-hosted, ruby
- tags: docker-registry, container-registry, ldap, oauth, openid-connect, teams, namespaces, on-premise, rails, token-authentication, containers, devops, docker, web-server, linux

## Member repositories
- SUSE/Portus (main) score 10

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:33.191972+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:31:29.229853+00:00, confidence not recorded.
  - readme: https://github.com/SUSE/Portus (fetched 2026-08-28T04:07:33.191972+00:00, sha 275e995ef72b)
  - homepage: http://port.us.org/ (fetched 2026-08-29T09:46:42.444360+00:00, sha 03b2a26dc9dc)
  - site_page: http://port.us.org/features.html (fetched 2026-08-29T09:46:42.447822+00:00, sha cbf195b36833)
  - site_page: http://port.us.org/documentation.html (fetched 2026-08-29T09:46:42.450179+00:00, sha 97826ee32666)
  - site_page: http://port.us.org/docs/FAQ.html (fetched 2026-08-29T09:46:42.451951+00:00, sha 59e66095f363)
  - site_page: http://port.us.org/docs/first-steps.html (fetched 2026-08-29T09:46:42.453860+00:00, sha a67d81fd7404)
  - site_page: http://port.us.org/docs/Configuring-Portus.html (fetched 2026-08-29T09:46:42.455648+00:00, sha 080c3cd52592)
  - site_page: http://port.us.org/docs/database.html (fetched 2026-08-29T09:46:42.458099+00:00, sha dae3bda0d50b)
  - site_page: http://port.us.org/docs/How-to-setup-secure-registry.html (fetched 2026-08-29T09:46:42.459994+00:00, sha de12755d15d8)
  - site_page: http://port.us.org/docs/deploy.html (fetched 2026-08-29T09:46:42.461739+00:00, sha 55ae7d84ff84)
- Data as of 2026-08-30T08:39:29.467469+00:00.
