155 lines
6.7 KiB
Markdown
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
|