An open-source private package registry with pull-through caching and policy controls — an open-source alternative to Artifactory, built on Gitea, Verdaccio, and devpi.
v1 formats: npm (JS/TS) and PyPI (Python).
- One Gitea identity, one long-lived token per user for publish and install. Okta/OIDC SSO is supported for humans; manual Gitea accounts also work.
- Private packages live in Gitea; public packages are pulled through caching proxies.
- Private names always shadow public ones (dependency-confusion safe by construction).
- Policy-as-code: block public packages/versions by editing one unified
policy.tomlin a reviewed Gitea repo (compiled per-ecosystem by policy-sync). - No forks: stock upstream images + config overlays + plugins, so upstream improvements keep flowing.
Artea runs on Kubernetes only; for local dev that means Colima's built-in k3s. For a guided first deployment and first package publish, start with Getting started; for the Colima specifics see Local development.
colima start --kubernetes # k3s sharing the docker image store (--cpu 4 --memory 8 for headroom)
make dev # build the four images, helm-install the chart, port-forward the gateway
make e2e # run the end-to-end scenario suite (smoke + S1-S20)make dev builds the Artea images, helm upgrade --installs the chart (the
bootstrap hook Job creates the admin, org, tokens and policy repo), and
port-forwards the gateway to http://localhost:8080. Local credentials land in
e2e/tmp/credentials.env (gitignored). The gateway is the only exposed service;
Gitea, Verdaccio, devpi and policy-sync stay internal.
For production-style Kubernetes installs, use the Helm guide: Kubernetes, or the turnkey AWS EKS walkthrough (cluster + ALB + TLS in one pass). Expose only the gateway and keep Gitea, Verdaccio, devpi and policy-sync internal. Replace all Helm placeholder secrets before first use; the dev defaults are for local smoke tests only.
Authoring policy: edit policy.toml in the ${ARTEA_NAMESPACE}/registry-policy
repo via PR (schema: docs/policy-schema.md; operating:
Operations → Policy authoring).
Client setup: npm/pnpm/yarn, pip/uv/poetry/twine, publishing and tokens. Architecture: docs/ARCHITECTURE.md.