Skip to content

OpenArtifact documentation ​

Self-hosted artifact repository for many package formats. The project README is the short overview; the details are here.

These pages are also published, one version per release, at https://openartifact.github.io/ with search and a version switcher; the markdown stays readable on GitHub. latest follows main.

Getting started ​

PageContents
InstallationDocker Compose, Helm, release binaries and source builds; first login and password reset; installing the web UI as an app (PWA)
Web UIThe seven areas, the Ctrl/Cmd+K command palette, the settings hub, the artifact page and where the old URLs went
ConfigurationLoad order, env-only variables, and every setting with env var, YAML key and default
LanguageChoosing the UI language: browser default, the picker in the user menu and on the sign-in page, where the choice is stored, what follows it
UpgradingForward-only migrations, image tags, per-method upgrade steps, secrets to keep, rollback

Package formats ​

PageContents
Format matrixClient URLs, hosted/proxy/group support, upload methods, authentication
Client setupConfigure and publish commands for every client, generated from the same source as the web UI
Maven · npm · PyPI · Docker/OCIClient setup and publishing
Helm · Debian · RPM · Arch Linux · GoClient setup and publishing
Cargo · NuGet · RubyGems · CondaClient setup and publishing
Conan · Alpine (apk) · Terraform/OpenTofu · Ivy and sbt · RawClient setup and publishing

Repositories ​

PageContents
Hosted, proxy and groupRepository types, proxy cache and serve-stale, groups, the public flag
Cleanup and quotasCleanup policies, per-repository and per-project storage quotas, project default cleanup policies
TrashDeleted artifacts and repositories stay restorable for a retention period; immutable releases
PropertiesArtifact key/value properties: API, limits, search
Release bundlesRelease bundles and promotion pipelines
Migrating from Nexus / Artifactoryoa import: flags, retries, what is preserved

Security ​

PageContents
AuthenticationLocal login, sessions, CSRF, API tokens, legacy key, anonymous access, IP and rate limits
Single sign-onOIDC and SAML providers, provisioning, group mapping
RBACUsers, groups, permission targets, request-to-action mapping, projects (repository ownership, member and group access)
ProjectsProject roles, member and group self-service, who may create projects, audit events, API
ScanningVulnerability, secret and license scans, quarantine
Security findingsThe findings of all repositories in one list (vulnerabilities, licenses, secrets, AI), summary, export, scanner health and the per-repository counts
SBOM and VEXCycloneDX / SPDX 2.3 and 3.0 SBOMs, OpenVEX / CycloneDX VEX, signed attestations (cosign), Trivy, Grype
Dependency-TrackPushing the BOM on upload and scan and the VEX after analysis; project naming, permissions, per-repository overrides
License metadataHow licenses are read from package files: precedence per format, unresolved licenses, limits and limitations
SigningGPG key management and signing of APT/RPM metadata and release bundles; verifying release archives and images

Operations ​

PageContents
StorageBlob backends and their settings, content addressing, deduplication
Storage tiersNamed tiers on several backends, lifecycle policies, the crash-safe mover, promote-on-read, dry run
TrashSoft delete: retention, restore, purge, immutable releases, repository delete confirmation
Blob replicationAsync second copy of every blob on another backend, read fallback, verify and repair, loss of the primary store
BackupBackup and restore of records and blobs
FederationPeer-to-peer replication of hosted repositories between instances: setup, conflicts, resync, monitoring
Disaster recoveryRunbook: database lost, storage lost, one repository deleted; RPO and RTO per option, verification commands
PostgreSQL point-in-time recoveryWAL archiving, base backups and restore to a chosen time with CloudNativePG and the Helm chart
Rebuild from storageRow journal sidecars in the blob store and openartifact rebuild: re-index an empty database from storage
MonitoringHealth, Prometheus metrics, audit log, logging
Audit log retentionDelete audit entries older than N days in paced batches, one replica at a time; export first
White-label brandingProduct name, logos, favicon, accent colour, login message and support link: configuration, admin UI, API, SVG sanitising, the source-code attribution that stays
WebhooksEvents, HMAC signatures, retries, delivery log
PerformanceBenchmarks, load tests, pprof, auth cache and other tuning

Integrations ​

PageContents
CLIoa commands (including trash and repository delete confirmation), login and configuration
CI integrationUpload, bundle and promote from Jenkins, Drone, Woodpecker or any shell with oa; least-privilege CI tokens
Declarative configurationoa apply, oa diff and oa export: manage users, repositories, permissions and more from YAML manifests, GitOps usage
MCP serverTools, permissions and client configuration (Claude, Cursor, VS Code, Codex, omp)
REST APIOpenAPI spec, interactive API reference, authentication, conventions
AI analysisOptional LLM analysis of package manifests
yapBuild deb/rpm packages with yap, publish them and install from clients

Reference ​

Generated from the code (make docs-gen), never hand-edited.

PageContents
OverviewWhat is generated and how
Configuration keysEvery YAML key with env var, type, default and description
MetricsEvery Prometheus metric with type, labels and help
CLI commandsoa command and flag reference
REST APIEndpoints per tag with parameters, bodies and responses, rendered from openapi.json

Development ​

PageContents
Development guideToolchain, build, test, lint, generate, CI and release pipeline
Translating the web UICatalog layout, adding UI text, the i18n:check rules, adding a language, correcting a translation by pull request
ArchitectureCode layout, request flow, routing invariant, storage and database split
Design: federated repositoriesMulti-site replication: unit log, pull protocol, conflict rules, tombstones, peer authentication, supported formats

Contributor rules: CONTRIBUTING.md and AGENTS.md. Security reports: SECURITY.md.

Free software under the AGPL-3.0-or-later.