112 lines
3.4 KiB
Markdown
112 lines
3.4 KiB
Markdown
---
|
|
title: Hoodik
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, cloud-storage, rust, e2e, privacy]
|
|
confidence: medium
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=cloud-storage]
|
|
---
|
|
|
|
# Hoodik 🔐
|
|
> Stockage cloud chiffré de bout en bout (E2EE) écrit en Rust/Actix, où le serveur ne voit jamais le contenu des fichiers ni les clés des utilisateurs.
|
|
|
|
| Métadonnée | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | https://hoodik.io |
|
|
| **GitHub** | https://github.com/hooligram/hoodik |
|
|
| **License** | AGPL-3.0 |
|
|
| **Langage** | Rust |
|
|
| **Étoiles** | 57 |
|
|
| **Dernière MAJ** | 2024 |
|
|
| **Catégorie** | [[cat-cloud-storage]] |
|
|
|
|
## Description
|
|
|
|
Hoodik est une alternative sérieuse à Nextcloud, Seafile ou Filebrowser, avec une promesse forte : chiffrement E2E côté client en ChaCha20-Poly1305, clés dérivées du mot de passe de l'utilisateur, et serveur qui ne stocke que des blobs opaques. Même un admin du serveur ne peut pas lire les fichiers.
|
|
|
|
L'architecture est en Rust (Actix-web) pour le back-end avec un front-end Vue.js. L'app supporte le partage de fichiers par lien, dossiers partagés entre utilisateurs, et fonctionne comme un « drive » classique une fois l'authentification passée.
|
|
|
|
Idéal pour un usage personnel ou en petite équipe sensible à la confidentialité (juridique, médical, journalisme). Le code AGPL impose la contribution en cas de modification distribuée.
|
|
|
|
## Installation
|
|
|
|
### Option 1 : Docker Compose (recommandé)
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
services:
|
|
hoodik:
|
|
image: ghcr.io/hooligram/hoodik:latest
|
|
container_name: hoodik
|
|
ports:
|
|
- "8093:5443"
|
|
environment:
|
|
- HOODIK_SECRET=*** rand -hex 32)
|
|
- HOODIK_DATA=/data
|
|
- HOODIK_DATABASE_URL=postgres://hoodik:***@db:5432/hoodik
|
|
depends_on:
|
|
- db
|
|
volumes:
|
|
- ./data:/data
|
|
restart: unless-stopped
|
|
|
|
db:
|
|
image: postgres:16-alpine
|
|
container_name: hoodik-db
|
|
environment:
|
|
- POSTGRES_DB=hoodik
|
|
- POSTGRES_USER=hoodik
|
|
- POSTGRES_PASSWORD=*** volumes:
|
|
- ./dbdata:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
```
|
|
|
|
### Option 2 : Installation manuelle
|
|
|
|
```bash
|
|
git clone https://github.com/hooligram/hoodik.git
|
|
cd hoodik
|
|
cargo build --release
|
|
./target/release/hoodik
|
|
```
|
|
|
|
## Configuration
|
|
|
|
- `HOODIK_SECRET` : clé maître du serveur (≠ clé de chiffrement utilisateur).
|
|
- Configurer HTTPS obligatoire (sinon le chiffrement E2E est contourné par MITM).
|
|
- Créer le premier utilisateur admin via CLI ou UI.
|
|
|
|
## Alternatives
|
|
|
|
### Open Source
|
|
- [[app-nextcloud]] — référence, mais pas E2E par défaut
|
|
- [[app-seafile]] — chiffrement côté serveur
|
|
- [[app-filebrowser]] — pas de chiffrement
|
|
- [[app-filerun]] — PHP commercial self-hostable
|
|
- [[app-bewcloud]] — Python simple
|
|
|
|
### Propriétaires
|
|
- Dropbox
|
|
- Google Drive
|
|
- iCloud Drive
|
|
- Tresorit (chiffré)
|
|
|
|
## Sécurité
|
|
|
|
- HTTPS obligatoire, idéalement HSTS preload.
|
|
- `HOODIK_SECRET` long et stocké en variable d'environnement sécurisée.
|
|
- Sauvegardes Postgres + `./data` (chiffré, donc récupérable uniquement avec les clés utilisateur).
|
|
- Mettre Rust et les dépendances à jour.
|
|
- Activer fail2ban sur le port HTTPS.
|
|
|
|
## Ressources
|
|
- [Dépôt GitHub](https://github.com/hooligram/hoodik)
|
|
- [selfh.st listing](https://selfh.st/apps/?tag=cloud-storage)
|
|
|
|
## Pages Liées
|
|
- [[cat-cloud-storage]]
|
|
- [[recettes-docker-compose]]
|
|
- [[securisation-home-lab]]
|