---
title: Zot Registry
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, container-registry, app-marathon3-batch-b]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=container-registry&app=zot]
---

# 📦 Zot Registry

> Registre OCI haute performance, distribué, avec mirroring, signatures et scan CVE intégrés.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [zotregistry.dev](https://zotregistry.dev) |
| **GitHub** | [project-zot/zot](https://github.com/project-zot/zot) |
| **License** | Apache-2.0 |
| **Langage** | Go |
| **Étoiles GitHub** | ~1.5k ⭐ |
| **Catégorie** | [[cat-container-registry\|Container Registry]] |

## 📝 Description

**Zot** est un registre OCI (Open Container Initiative) production-ready écrit en Go par Cisco, supportant images, signes Cosign, SBOM, scan de vulnérabilités via Trivy, replication multi-sites, et mode "scratch" (binaire statique minuscule). Différence vs **Docker Registry / Harbor**: Zot est **léger, sans dépendance externe** (pas besoin de PostgreSQL/Redis), **CLI-friendly**, avec des **CLI de réplication** prêtes à l'emploi. Pour qui: équipes DevOps, edge computing, air-gapped, IoT, qui veulent un registre privé OCI simple et rapide.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  zot:
    image: ghcr.io/project-zot/zot:latest
    container_name: zot
    restart: unless-stopped
    volumes:
      - ./config.json:/etc/zot/config.json:ro
      - zot-data:/var/lib/zot
    labels:
      - traefik.enable=true
      - traefik.http.routers.zot.rule=Host(`zot.example.com`)
      - traefik.http.routers.zot.entrypoints=websecure
      - traefik.http.routers.zot.tls.certresolver=letsencrypt
      - traefik.http.services.zot.loadbalancer.server.port=5000

volumes:
  zot-data:
```

Exemple `config.json` minimal:
```json
{
  "distSpecVersion": "1.1.1",
  "storage": { "rootDirectory": "/var/lib/zot" },
  "http": { "address": "0.0.0.0", "port": "5000" },
  "auth": {
    "htpasswd": {
      "path": "/etc/zot/htpasswd"
    }
  }
}
```

Push: `docker tag myapp:latest zot.example.com/myapp:latest && docker push zot.example.com/myapp:latest`

## 🔄 Alternatives

### Open Source
- **Docker Registry** — Référence upstream, basique.
- **Harbor** — CNCF, complet (scan, replication, RBAC), plus lourd.
- [[app-repoflow]] — UI pour registries.
- [[app-distribution]] — Implémentation officielle Docker.
- **GitHub Container Registry** — Cloud, gratuit jusqu'à 2 Go.

### Propriétaires
- **AWS ECR** — Intégration IAM, facturation.
- **Google Artifact Registry** — Géré, build triggers.
- **Azure ACR** — Géo-replication, content trust.

## 🔐 Sécurité
- **Authentification**: htpasswd, LDAP, OIDC, API tokens.
- **Signatures Cosign**: vérification de l'intégrité des images.
- **Scan CVE**: intégration Trivy native.
- **RBAC**: granulaires par repository.
- **TLS**: obligatoire (Traefik ou terminaison native).

## 📚 Ressources
- [Documentation](https://zotregistry.dev/v2.1/)
- [GitHub](https://github.com/project-zot/zot)
- [CNCF Sandbox](https://landscape.cncf.io/)

## Pages Liées
- [[cat-container-registry]] — Catégorie Container Registry
- [[app-repoflow]] — UI pour registries
- [[recettes-docker-compose]] — Templates Docker
