AI

OSSパッケージレジストリ比較:Verdaccio vs Gitea Packages vs Nexus でプライベートnpmを構築する

オープンソースラボ編集部2026年6月14日

OSSパッケージレジストリ比較:Verdaccio vs Gitea Packages vs Nexus でプライベートnpmを構築する

📦 社内パッケージの管理・配布にはプライベートレジストリが不可欠。Verdaccio・Gitea Packages・Nexusを比較して最適解を見つけましょう。

プライベートパッケージレジストリとは

社内ライブラリや非公開パッケージをnpm/PyPI/Maven等の形式で配布するための自社ホストサーバーです。セキュリティ・バージョン管理・キャッシュ機能が主な役割を担います。

主要ツール比較表

項目VerdaccioGitea PackagesNexus Repository
ライセンスMITMITOSS版はAPL 2.0
対応形式npm/yarn中心npm/pip/gem/docker等npm/Maven/PyPI/Docker等
セットアップ◎ 超簡単○ Git連携△ 重め
UI○ シンプル◎ Git統合UI○ 機能的
キャッシュ◎(npmプロキシ)
認証LDAP/htpasswdGit認証統合LDAP/SAML等
スケール小〜中大規模向け
メモリ使用軽量重め

各ツールの特徴

Verdaccio

npmレジストリのプロキシ兼プライベートレジストリとして圧倒的な人気を誇る軽量ツール。Dockerイメージ1つで即座に使えます。

主な特徴:

  • npmjsへのプロキシキャッシュで帯域節約
  • YAML一つで設定完結
  • プラグインによる拡張(S3バックエンド等)
  • Zero-config Docker運用
# config.yaml
storage: /verdaccio/storage
auth:
  htpasswd:
    file: /verdaccio/conf/htpasswd
uplinks:
  npmjs:
    url: https://registry.npmjs.org/
packages:
  '@mycompany/*':
    access: $authenticated
    publish: $authenticated
  '**':
    access: $all
    proxy: npmjs
# Docker起動
docker run -d   -p 4873:4873   -v /opt/verdaccio:/verdaccio/storage   verdaccio/verdaccio

# 使い方
npm set registry http://localhost:4873
npm publish

向いているケース: npm専用・小〜中規模チーム

Gitea Packages

GiteaのビルトインパッケージレジストリはGitリポジトリと完全統合。コードとパッケージを1つのUIで管理できます。

主な特徴:

  • Git + Issue + CI/CD + パッケージを1ツールで統合
  • npm・PyPI・gem・Docker・Helmに対応
  • Gitea Actionsと連携した自動公開
  • 既存Gitea環境ならゼロ追加コスト
# .gitea/workflows/publish.yml
name: Publish Package
on:
  push:
    tags: ['v*']
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Publish to Gitea
        run: |
          npm config set registry ${{ gitea.server_url }}/api/packages/${{ gitea.repository_owner }}/npm/
          npm publish

向いているケース: 既にGiteaを使っているチーム

Nexus Repository Manager

Sonatype製の多機能レジストリ。Mavenをはじめとするエンタープライズ向けの用途で長い実績があります。

主な特徴:

  • Maven/npm/PyPI/Docker/Helmなど幅広い対応
  • 脆弱性スキャン(IQ Server連携)
  • 高度なアクセス制御とロールベース管理
  • クラスタリングによる高可用性(Pro版)
# Docker Composeで起動
version: '3'
services:
  nexus:
    image: sonatype/nexus3
    ports:
      - "8081:8081"
      - "8082:8082"  # Docker registry
    volumes:
      - nexus-data:/nexus-data
volumes:
  nexus-data:

向いているケース: 大規模・多言語・エンタープライズ

ユースケース別推奨

状況推奨ツール
npmのみ・超手軽にVerdaccio
Gitea導入済みGitea Packages
Maven/多言語混在Nexus
セキュリティスキャン必須Nexus(+IQ Server)

内部リンク

外部リソース

FAQ

Q. Verdaccioはnpm以外にも使えますか?

主にnpm/yarn向けです。PyPIやDockerには対応していないため、多言語プロジェクトではGiteaかNexusを検討してください。

Q. Verdaccioのストレージはどこに保存されますか?

デフォルトはローカルファイルシステムですが、S3やGoogle Cloud Storageプラグインも公式提供されています。

Q. GitHub PackagesやAWS CodeArtifactとの違いは?

これらはマネージドサービスでクラウド費用が発生します。セルフホストはコスト削減・プライバシー確保が主なメリットです。

Q. 認証をSSO(SAML/OAuth)にするには?

VerdaccioはプラグインでSSO対応可能。NexusはSAML対応あり。GiteaはOAuth 2.0をネイティブサポートしています。

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。