Files
wiki/Catalogue-Self-Hosted/apps/app-redict.md
T
2026-06-09 18:40:21 +02:00

155 lines
6.7 KiB
Markdown

---
title: Redict
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, database, redis, key-value, c, fork, codeberg, bsd]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Database, https://codeberg.org/redict/redict]
---
# 🗄️ Redict
> **Le fork indépendant de Redis** : un store clé/valeur in-memory compatible Redis, mais **100 % open source** et hébergé sur Codeberg. Né en réaction au changement de licence de Redis.
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | (Codeberg) |
| **Codeberg** | [redict/redict](https://codeberg.org/redict/redict) |
| **License** | BSD-3-Clause |
| **Langage** | C |
| **Étoiles GitHub/Codeberg** | 351 ⭐ |
| **Catégorie** | [[cat-database\|Database]] |
| **Public** | Intermédiaires à avancés |
## 📝 Description
**Redict** est un **fork indépendant de Redis** maintenu sur **Codeberg** (pas GitHub — c'est un choix politique et technique du projet). Il est né en **2024**, peu après que Redis Inc. a basculé la licence de Redis 7.4+ vers la **RSALv2 / SSPLv1** (licences non-OSI, restrictives), ce qui a poussé une partie de la communauté à forker le code.
Pour bien comprendre le paysage : le **fork principal de Redis est [Valkey](https://github.com/valkey-io/valkey)** (sous Linux Foundation, MIT-like), très populaire. **Redict** est une **alternative communautaire distincte**, hébergée sur Codeberg pour des raisons idéologiques (indépendance vis-à-vis des grandes plateformes centralisées) et techniques. Les deux projets sont compatibles au niveau protocole avec Redis classique.
-**100 % open source** : BSD-3-Clause, pas de changement de licence à craindre
-**Compatible protocole Redis** : les clients `redis-cli`, `redis-py`, `ioredis`, etc. fonctionnent tels quels
-**Hébergé sur Codeberg** : gouvernance communautaire, hors GitHub
-**Store clé/valeur in-memory** : latences sub-milliseconde
-**Persistance RDB + AOF** : durable comme Redis
-**Pub/Sub, Lua scripting, transactions** : API Redis complète
-**Cluster mode** : sharding horizontal
-**Modules Redis** : support de la plupart des modules existants
-**Léger** : binaire C, faible empreinte mémoire comparé à Valkey
-**Binaire statique** : déploiement trivial
**Public cible** : **les utilisateurs de Redis qui refusent la nouvelle licence restrictive** et préfèrent un projet 100 % libre, ou qui veulent soutenir un fork hébergé hors GitHub. Pour la majorité des cas, **Valkey est le choix par défaut** (plus gros écosystème, support de la Linux Foundation). Redict est l'alternative "indépendante et Codeberg-first".
## 🚀 Installation
### Docker Compose
```yaml
# docker-compose.yml
version: '3.8'
services:
redict:
image: codeberg.org/redict/redict:latest
container_name: redict
restart: unless-stopped
command: ["redict-server", "--save", "60", "1", "--appendonly", "yes"]
ports:
- "6379:6379"
volumes:
- redict-data:/var/lib/redict
healthcheck:
test: ["CMD", "redict-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
volumes:
redict-data:
```
### Bare-metal (Linux)
```bash
# Depuis les sources (Codeberg)
git clone https://codeberg.org/redict/redict.git
cd redict
make -j$(nproc)
sudo make install
redict-server --daemonize yes
```
### Package managé (Debian/Ubuntu)
```bash
# Ajouter le repo officiel Redict
echo "deb [signed-by=/usr/share/keyrings/redict.gpg] https://packages.redict.io/apt $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redict.list
sudo apt update
sudo apt install redict
```
## ⚙️ Configuration Initiale
1. **Tester la connexion** : `redict-cli ping` → doit répondre `PONG`
2. **Définir un mot de passe** : éditer `/etc/redict/redict.conf` (ou via env) avec `requirepass VOTRE_MOT_DE_PASSE`
3. **Activer la persistance** : `appendonly yes` (AOF) + `save 60 1000` (RDB toutes les 60s si ≥1000 clés modifiées)
4. **Sécuriser l'accès réseau** : `bind 127.0.0.1` par défaut ; ne pas exposer sur 0.0.0.0 sans auth forte
5. **Monitoring** : `redict-cli info`, `redict-cli monitor` (debug uniquement), exporter vers Prometheus via `redict_exporter`
6. **TLS (optionnel)** : `tls-port 6380` + certificats pour chiffrer le trafic client
## 🔄 Alternatives
### Open Source
- **[Valkey](https://github.com/valkey-io/valkey)** — Le fork principal, sous Linux Foundation, MIT-like, **plus gros écosystème**
- **KeyDB** — Fork historique de Redis (performances multi-thread), open source
- **DragonflyDB** — Redis-compatible, très haute performance, single-node et clustered
- **Memurai / Garnet** — Alternatives Microsoft
- **Garnet** (Microsoft Research) — Redis-compatible en C#
### Comparaison Redict vs autres
| Critère | Redict | Valkey | Redis (nouveau) | KeyDB |
| :--- | :--- | :--- | :--- | :--- |
| **License** | BSD-3 | MIT-like | RSALv2 / SSPLv1 | BSD-3 |
| **Open source OSI** | ✅ | ✅ | ❌ | ✅ |
| **Hébergement** | **Codeberg** | GitHub | GitHub | GitHub |
| **Sponsor** | Communauté | Linux Foundation | Redis Inc. | Snap (Meta) |
| **Compatible Redis** | ✅ | ✅ | ✅ | ✅ |
| **Multi-thread** | ❌ | ❌ | ❌ | ✅ |
| **Maturité** | Jeune | Stable | Mature | Mature |
| **Écosystème** | Petit | Grand | Très grand | Moyen |
**Verdict** : **Valkey est le choix par défaut** pour la plupart des cas (plus gros écosystème, gouvernance forte). **Redict** est l'alternative pour ceux qui veulent un projet 100 % indépendant et hébergé sur Codeberg. Si vous n'avez pas de raison spécifique, **migrez vers Valkey**.
### Propriétaires (ce que Redict remplace)
- **Redis Cloud** (managed, facturé à l'usage)
- **Amazon ElastiCache for Redis** (AWS)
- **Azure Cache for Redis** (Microsoft)
## 🔐 Sécurité
- **`requirepass`** : **obligatoire** en production, choisissez un mot de passe long
- **Bind sur 127.0.0.1** par défaut, **jamais exposer** sur Internet sans auth + TLS
- **TLS** : supporté nativement (`tls-port 6380`) — cf. [[securisation-home-lab]]
- **Pas de commandes dangereuses** : `FLUSHALL`, `DEBUG`, `CONFIG` doivent être désactivées ou restreintes via `rename-command`
## 📚 Ressources
- [Codeberg redict/redict](https://codeberg.org/redict/redict)
- [Documentation officielle](https://redict.io/docs/)
- [Comparaison avec Valkey](https://redict.io/about/)
## Pages Liées
- [[cat-database]] — Catégorie Database
- [[app-traefik]] — Reverse-proxy HTTPS
- [[recettes-docker-compose]] — Templates Docker Compose
- [[securisation-home-lab]] — Sécuriser l'accès aux services réseau
- [[app-portainer]] — Gestion des containers Docker
- [[app-dockge]] — Alternative UI à Portainer