Ceci est une ancienne révision du document !
InvenTree est un logiciel de gestion d'inventaire open source s'appuyant sur Django et Python.
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 :
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
Par défaut le serveur écoute uniquement sur un socket Unix avec un mode de connexion associé à un compte local (peer).
Modifier le fichier d'autorisation pour permettre une connexion par role/mot de passe
# Placer les connexions role/mot de passe avant l'évaluation all peer
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 DATABASE inventree TO my-USER; ;A VALIDER GRANT ALL ON SCHEMA public 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
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