Initial vault setup
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user