---
title: InvenTree
created: 2026-06-08
updated: 2026-06-08
type: app
tags: [catalogue, inventory-management, manufacturing, parts, python, app-marathon3-rattrapage-a]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Inventory, https://inventree.org/]
---

# 🔧 InvenTree

> **Gestion de stock de pièces détachées et BOM** : conçu pour les makers, fablabs et PME industrielles — code source, fournisseurs, prix et assemblage.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [inventree.org](https://inventree.org) |
| **GitHub** | [inventree/InvenTree](https://github.com/inventree/InvenTree) |
| **License** | MIT |
| **Langage** | Python |
| **Étoiles GitHub** | 4.6k ⭐ |
| **Catégorie** | [[cat-inventory-management|Inventory Management]] |

## 📝 Description

**InvenTree** est né en 2017 du besoin d'un outil de gestion de stock pour les **makers, hackerspaces et ateliers de production**. Il cible particulièrement les pièces électroniques et mécaniques.

Fonctionnalités :
- ✅ **Catalogue de pièces** : images, datasheets, prix
- ✅ **BOM (Bill of Materials)** : assemblages hiérarchiques
- ✅ **Multi-entrepôts** avec localisation (rack, étagère, tiroir)
- ✅ **Fournisseurs** : prix, délais, références
- ✅ **Achats** : génération automatique de commandes
- ✅ **Codes-barres et QR codes** : scan pour entrées/sorties
- ✅ **Stock minimum/alertes** : réapprovisionnement
- ✅ **Intégration GitHub** : lier des pièces à des repos
- ✅ **Build orders** : assemblage de produits finis
- ✅ **API REST + plugin system**

**Différence vs PartKeepr, OpenBOM** : InvenTree = stack moderne (Django + React), communauté active, intégration native GitHub, install Docker simple.

**Pour qui** : makers, fablabs, ateliers électroniques, PME industrielles, constructeurs de matériel, projets DIY complexes.

## 🚀 Installation

### Docker Compose (recommandé)

```yaml
version: '3.8'
services:
  inventree:
    image: inventree/inventree:latest
    container_name: inventree
    restart: unless-stopped
    environment:
      - INVENTREE_DB_HOST=db
      - INVENTREE_DB_NAME=inventree
      - INVENTREE_DB_USER=inventree
      - INVENTREE_DB_PASSWORD=***      - INVENTREE_SITE_URL=https://inventree.example.com
      - INVENTREE_ADMIN_USER=admin
      - INVENTREE_ADMIN_PASSWORD=***      - INVENTREE_ADMIN_EMAIL=admin@example.com
    volumes:
      - inventree_data:/home/inventree/data
      - inventree_media:/home/inventree/media
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.inventree.rule=Host(`inventree.example.com`)"
      - "traefik.http.routers.inventree.tls.certresolver=letsencrypt"
    depends_on:
      - db

  db:
    image: postgres:15-alpine
    container_name: inventree-db
    restart: unless-stopped
    environment:
      - POSTGRES_DB=inventree
      - POSTGRES_USER=inventree
      - POSTGRES_PASSWORD=***    volumes:
      - inventree_db:/var/lib/postgresql/data

volumes:
  inventree_data:
  inventree_media:
  inventree_db:
```

## 🔄 Alternatives

### Open Source
- [[app-glpi]] — helpdesk + inventaire IT
- [[app-homebox]] — inventaire personnel
- [[app-openuem]] — UEM entreprise
- **PartKeepr** — gestion composants électronique
- **OpenBOM** — gestion BOM en SaaS
- **Stockpile** — inventaire simple

### Propriétaires
- **Octopart** — recherche composants électroniques
- **Digi-Key** — distributeur avec API
- **Mouser** — idem
- **NetSuite** — ERP Oracle

## 🔐 Sécurité
- **Authentification par user/password**
- **Permissions par groupe** : read/write/admin par section
- **API tokens** : pour intégrations
- **2FA** : supporté
- **HTTPS obligatoire** : via reverse proxy
- **Logs d'audit** : traçabilité des mouvements de stock

## 📚 Ressources
- [Documentation](https://docs.inventree.org/)
- [GitHub](https://github.com/inventree/InvenTree)
- [Démo](https://demo.inventree.org/)

## Pages Liées
- [[cat-inventory-management]] — Catégorie Inventory
- [[app-glpi]] — Inventaire IT
- [[recettes-docker-compose]] — Templates Docker
