--- title: Diskover created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, file-management, python, search, indexer, elasticsearch] confidence: medium contested: false sources: [https://selfh.st/apps/?tag=file-management, https://github.com/diskoverdata/diskover-community] --- # Diskover 🔎 > Indexeur de fichiers open source écrit en Python qui crawle votre stockage (NAS, SAN, local) et expose une interface web de recherche/visualisation propulsée par Elasticsearch. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | https://diskover.net | | **GitHub** | https://github.com/diskoverdata/diskover-community | | **License** | Apache-2.0 | | **Langage** | Python | | **Étoiles GitHub** | 184 ⭐ | | **Dernière MAJ** | 2024 | | **Catégorie** | [[cat-file-management]] | ## 📝 Description **Diskover** s'attaque à un problème que tous les sysadmins connaissent : « Où est passé ce fichier de 2019 ? ». Au lieu de dépendre d'un `find` récursif ou d'une arborescence Windows, Diskover crawle en profondeur n'importe quel montage (NFS, SMB, local, Ceph, S3) et indexe **métadonnées + noms** dans Elasticsearch. L'UI web permet de naviguer dans une vue arborescente façon « sunburst », de filtrer par taille/date/type/owner/extension, de détecter les **doublons**, de repérer les fichiers **non accédés depuis N jours** (utile pour purger), et d'identifier les **gros orphelins**. C'est l'outil de référence pour les datarooms, archives, NAS de plusieurs To, ou les workflows de conformité RGPD (cartographie des données). L'indexation est incrémentale : un cron relance le crawler régulièrement et ne retraitent que les fichiers modifiés. Diskover existe en édition **Community** (gratuite, open source) et **Pro** (commerciale, avec support et plugins). ## 🚀 Installation ### Option 1 : Docker Compose (recommandé) ```yaml version: '3.8' services: diskover: image: diskover/diskover-community:latest container_name: diskover restart: unless-stopped ports: - "8110:80" environment: - ES_HOST=elasticsearch - ES_PORT=9200 - ES_INDEX=diskover volumes: - /mnt/nas:/mnt/nas:ro # Adapter au stockage à indexer - diskover-config:/opt/diskover/config depends_on: - elasticsearch labels: - "traefik.enable=true" - "traefik.http.routers.diskover.rule=Host(`diskover.example.com`)" - "traefik.http.routers.diskover.entrypoints=websecure" - "traefik.http.routers.diskover.tls.certresolver=letsencrypt" - "traefik.http.services.diskover.loadbalancer.server.port=80" networks: - proxy elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.17.20 container_name: diskover-elasticsearch restart: unless-stopped environment: - discovery.type=single-node - ES_JAVA_OPTS=-Xms2g -Xmx2g - xpack.security.enabled=false volumes: - es-data:/usr/share/elasticsearch/data networks: - proxy volumes: diskover-config: es-data: networks: proxy: external: true ``` ### Option 2 : Installation manuelle ```bash git clone https://github.com/diskoverdata/diskover-community.git cd diskover-community pip install -r requirements.txt # Configurer Elasticsearch externe, éditer configs/ python diskover.py /mnt/nas ``` ## ⚙️ Configuration - **Indexer plusieurs sources** : ajouter des crons distincts par montage. - **Politique d'index** : configurer Elasticsearch pour la rotation (ILM) et limiter la taille. - **Filtres** : exclure `.tmp`, `node_modules`, `__pycache__` via `config.py`. - **Doublons** : activer le hash SHA256 pour identifier les fichiers identiques. - Lancer le crawler en cron quotidien pour une indexation incrémentale. ## 🔄 Alternatives ### Open Source - [[app-filebrowser]] — File manager avec search limité - [[app-anythingllm]] — Pas la même cible (RAG docs) - **Sonarr / Radarr** — Plutôt orienté médias - **Elasticsearch + lsplugin** — DIY - **MaidSafe / Recoll** — Indexation desktop ### Propriétaires - WinDirStat (desktop, pas serveur) - TreeSize (desktop) - Cohesity DataPlatform - NetApp OnCommand Insight ## 🔐 Sécurité - Elasticsearch **sans exposition publique** : ne pas ouvrir le port 9200. - Activer **xpack.security** + auth sur Elasticsearch en production. - Diskover Community ne supporte pas l'auth native → mettre derrière un **reverse proxy authentifié** (Authelia, Authentik). - **HTTPS obligatoire** sur l'UI. - Limiter l'accès au dossier monté (`:ro` en Docker si lecture seule suffit). - Les métadonnées indexées peuvent être sensibles (noms de fichiers clients) → RGPD. ## 📚 Ressources - [Site officiel](https://diskover.net) - [Documentation](https://docs.diskoverdata.com) - [GitHub diskoverdata/diskover-community](https://github.com/diskoverdata/diskover-community) - [Article XDA : Diskover self-hosted file indexer](https://www.xda-developers.com/diskover-free-self-hosted-file-indexer/) ## Pages Liées - [[cat-file-management]] — Catégorie File Management - [[recettes-docker-compose]] — Templates Docker Compose - [[securisation-home-lab]] — Sécurité - [[traefik]] — Reverse proxy