Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Docker
  3. Kraken

Kraken

Apache-2.0Gov0.1.27

A highly scalable and available P2P Docker registry designed for fast distribution of large images in hybrid cloud environments.

GitHubGitHub
6.7k stars478 forks0 contributors

What is Kraken?

Kraken is a peer-to-peer (P2P) powered Docker registry designed for scalable and highly available Docker image management, replication, and distribution in hybrid cloud environments. It integrates as a distribution layer into existing Docker registry setups with pluggable backend support, handling massive-scale workloads like distributing over 1 million blobs daily. The architecture uses agents on each host, dedicated origin seeders, and a tracker to form a pseudo-random regular graph for efficient P2P transfers.

Target Audience

DevOps engineers and platform teams managing large-scale Docker deployments in hybrid or multi-cloud environments, particularly those needing to optimize image distribution across thousands of hosts. It is also suitable for organizations with existing Docker registry setups seeking to enhance scalability and availability without replacing their storage backends.

Value Proposition

Developers choose Kraken for its ability to distribute Docker images at over 50% of the max download speed per host while supporting clusters of at least 15,000 hosts and blobs up to 20GB, with no single point of failure. Its unique selling point is the P2P-driven architecture that reduces global max download time and communication overhead, outperforming alternatives like Dragonfly in scalability for large blobs and offering built-in cross-cluster replication and pluggable storage integration.

Overview

P2P Docker registry capable of distributing TBs of data in seconds

Use Cases

Best For

  • Scaling Docker image distribution across large clusters of 15,000+ hosts without significant performance degradation.
  • Integrating a high-availability distribution layer into existing Docker registry setups with backends like S3, GCS, or ECR.
  • Enabling lossless, rule-based asynchronous replication of Docker images between multiple clusters in hybrid cloud environments.
  • Reducing global max download time for Docker pulls in stable, large-scale production environments like Uber's infrastructure.
  • Distributing large Docker image layers (up to 20GB) efficiently using a P2P network to avoid bottlenecks from centralized seeders.
  • Deploying a Docker registry on Kubernetes with Helm, exposing a registry API on each node for localized image pulls.

Not Ideal For

  • Environments where Docker pull speed is bottlenecked by layer decompression, not network distribution.
  • Workflows requiring immediate consistency for frequently mutating tags like 'latest'.
  • Distributing ultra-large Docker layers over 100GB without pre-chunking into smaller parts.
  • Small-scale clusters with fewer than 100 hosts where P2P overhead and setup complexity aren't justified.

Pros & Cons

Pros

Massive Scalability

Supports clusters of at least 15,000 hosts and distributes blobs up to 20GB at >50% of max download speed per host, with minimal performance degradation as size or scale increases, as benchmarked in production at Uber.

High Availability Design

Architecture has no single point of failure, with components like Origin forming a self-healing hash ring and multiple trackers, ensuring reliability for large-scale deployments.

Flexible Storage Integration

Pluggable backend support allows easy integration with reliable blob storage like S3, GCS, or ECR through a simple interface, fitting into existing registry setups.

Cross-Cluster Replication

Provides rule-based asynchronous replication between clusters with lossless data transfer, essential for hybrid cloud environments as highlighted in the features.

Cons

Tag Mutation Issues

Mutating tags (e.g., updating 'latest') suffers from Nginx caching delays and replication failures, as admitted in the Limitations section, requiring workarounds like reducing cache intervals.

Large Blob Limitations

Ultra-large blobs (100GB+) are not recommended for production; the README advises chunking them into <10GB parts, which adds overhead for massive layer distributions.

Complex Deployment

Involves multiple components (Agent, Origin, Tracker, etc.) with non-trivial configuration, as seen in the Helm and devcluster setup instructions, increasing initial setup effort.

Frequently Asked Questions

Quick Stats

Stars6,728
Forks478
Contributors0
Open Issues80
Last commit15 hours ago
CreatedSince 2018

Tags

#high-availability#blob-storage#docker-registry#bittorrent#kubernetes#docker#container#scalability#go#containerd#p2p#docker-image#hybrid-cloud

Built With

G
GCS
G
Go
K
Kubernetes
H
Helm
S
S3
H
HDFS
D
Docker
E
ECR

Included in

Docker35.8k
Auto-fetched 5 hours ago

Related Projects

HarborHarbor

An open source trusted cloud native registry project that stores, signs, and scans content.

Stars29,011
Forks5,297
Last commit2 days ago
DragonflyDragonfly

Delivers efficient, stable, and secure data distribution and acceleration powered by P2P technology, with an optional content‑addressable filesystem that accelerates OCI container launch.

Stars3,268
Forks412
Last commit7 hours ago
DocketDocket

Docket - Custom docker registry that allows for lightning fast deploys through bittorrent

Stars709
Forks33
Last commit5 years ago
NORANORA

Lightweight multi-format artifact registry. 15 formats: Docker, Maven, npm, PyPI, Cargo, Go, Raw, RubyGems, Terraform, Ansible Galaxy, NuGet, Pub, Conan, RPM, and Debian/APT. Single binary, zero dependencies, < 50 MB RAM idle.

Stars248
Forks27
Last commit1 day ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub