Outils pour utilisateurs

Outils du site


software:applications:inventree

Ceci est une ancienne révision du document !


IvenTree

InvenTree est un logiciel de gestion d'inventaire open source s'appuyant sur Django et Python.

Installation

:TODO_DOCUPDATE:

Un script d'installation automatise toute la procédure pour les systèmes Debian 10, 11, 12 et Ubuntu 20.04 LTS, 22.04 LTS, 24.04 LTS. Dans les autres cas, il faudra procéder à l' installation manuellement.

Installer les prérequis :

Base de données

Inventree peut s'appuyer indifféremment sur Postgresql ou Mariadb. Ici on a fait le choix d'utiliser PostgreSQL :

apt-get install postgresql postgresql-contrib libpq-dev

Vérifier que le serveur de base de données s'exécute bien

systemctl status postgresql.service

Créer une nouvelle base et un rôle : ils seront utilisés par l'application.

runuser -u postgres -- psql
CREATE DATABASE inventree;
CREATE USER my-USER WITH ENCRYPTED PASSWORD 'myPassW0RD';
GRANT ALL ON SCHEMA public TO my-USER;
 
;A VALIDER
GRANT ALL ON DATABASE inventree TO my-USER;

Vérifier que la base est accessible pour l'utilisateur inventree :

runuser -u inventree -- psql --user my-user --password -h /var/run/postgresql inventree

Application

apt-get update
apt-get install -y \
    python3 python3-dev python3-pip python3-invoke python3-venv \
    git gcc g++ gettext gnupg \
    poppler-utils libpango-1.0-0 libpangoft2-1.0-0 \
    libjpeg-dev webp
 
apt install -y weasyprint

Il est fortement recommandé de ne pas exécuter le serveur InvenTree en tant que root. On crée un utilisateur avec des droits restreints pour l'installation et l'exécution de l'application

useradd -m -d /home/inventree -s /bin/bash inventree
 
# Création des répertoires nécessaires à l'application
mkdir -p /srv/inventree/data/{static,media,backup}
chown -R inventree: /srv/inventree
 
su - inventree
cd /srv/inventree

Récupérer le code source d'InvenTree :

git clone https://github.com/inventree/inventree src
git clone https://github.com/inventree/inventree app

La branche master intègre les dernières fonctionnalités mais est en cours de développement. Utiliser la branche stable de préférence puis créer l'environnement virtuel Python :

cd src
git checkout stable
 
python3 -m venv env
source env/bin/activate
 
# Les paquets requis pour le serveur InvenTree doivent être installés dans l'environnement virtuel
pip install --upgrade --ignore-installed invoke
 
# Selon le SGDB choisit, installer paquets de liaison binding (ici PostgreSQL)
pip3 install psycopg pgcli
 
# Si MySQL
# pip3 install mysqlclient mariadb
 
# Installer
export INVENTREE_SITE_URL="http://inventree.kvm.internal"
export INVENTREE_STATIC_ROOT="/srv/inventree/data/static/"
export INVENTREE_MEDIA_ROOT="/srv/inventree/data/media/"
export INVENTREE_BACKUP_DIR="/srv/inventree/data/backup/"
export INVENTREE_DB_ENGINE=postgresql
export INVENTREE_DB_NAME=inventree INVENTREE_DB_USER=my-user INVENTREE_DB_PASSWORD="myPassW0RD"
 
invoke install

Initialisation de la base de données :

invoke update

Références

software/applications/inventree.1772972807.txt.gz · Dernière modification : 2026/03/08 12:26 de yoann