Notes d'installation de l'application en environnement virtualisé.
Téléchargement de l'ISO d'installation par le réseau :
wget https://get.debian.org/images/archive/12.13.0/amd64/iso-cd/debian-12.13.0-amd64-netinst.iso
Création des fichiers disques
newgrp libvirt-qemu mkdir -p ~/KVM/inventree cd ~/KVM qemu-img create -f qcow2 debian.qcow2 15G qemu-img create -f qcow2 swap.qcow2 2G chmod g+rw *.qcow2
Création de la VM via virt-install :
virt-install \ --name inventree \ --description "VM Debian 12 (Bookworm) minimaliste. Système minimal sans support vidéo et son." \ --osinfo debian12 \ --memory 1024 \ --vcpus 2 \ --boot uefi \ --controller type=scsi,model=virtio-scsi,driver.iommu=on \ --controller type=virtio-serial,driver.iommu=on \ --rng /dev/random,driver.iommu=on \ --disk /home/user/KVM/inventree/debian.qcow2,format=qcow2,target.bus=scsi,driver.discard=unmap \ --disk /home/user/KVM/inventree/swap.qcow2,format=qcow2,target.bus=scsi,driver.discard=unmap \ --graphics none \ --sound none \ --controller type=usb,model=none \ --cdrom /home/user/KVM/sysinstall/debian-12.13.0-amd64-netinst.iso \ --network network=default,model=virtio,driver.iommu=on
Installation classique minimaliste outils système et SSH uniquement.
apt install -y sudo
Depuis le compte administrateur, récupérer et lancer le script d'installation :
wget -qO install.sh https://get.inventree.org && bash install.sh
Lors de l'installation plusieurs variables d'environnement sont définies. Ci-dessous un extrait des messages retournés par le script :
...
# POI03| INVENTREE_MEDIA_ROOT=/opt/inventree/data/media
# POI03| INVENTREE_STATIC_ROOT=/opt/inventree/data/static
# POI03| INVENTREE_BACKUP_DIR=/opt/inventree/data/backup
# POI03| INVENTREE_PLUGINS_ENABLED=true
# POI03| INVENTREE_PLUGIN_FILE=/etc/inventree/plugins.txt
# POI03| INVENTREE_SECRET_KEY_FILE=/etc/inventree/secret_key.txt
# POI03| INVENTREE_DB_ENGINE=sqlite3
# POI03| INVENTREE_DB_NAME=/opt/inventree/data/database.sqlite3
# POI03| INVENTREE_DB_USER=sampleuser
# POI03| INVENTREE_DB_HOST=samplehost
# POI03| INVENTREE_DB_PORT=123456
# POI03| INVENTREE_SITE_URL=http://78.121.49.83
...
La variable d'environnement INVENTREE_SITE_URL est définie avec une valeur par défaut. Dans l'environnement virtualisé, cette valeur ne correspond pas à l'IP ou ou nom de domaine du système invité et empêche la consultation du frontend.
Ici on détruit la variable d'environnement. On peut ensuite redéfinir correctement l'adresse du site dans le fichier de configuration /etc/inventree/config.yaml.
inventree config:unset INVENTREE_SITE_URL
# ...
# Base URL for the InvenTree server (or use the environment variable INVENTREE_SITE_URL)
site_url: 'http://inventree.kvm.internal:8000'
# ...
On relance le service web
systemctl restart inventree-web.service
Sur la machine hôte, on modifie le fichier /etc/hosts afin de pouvoir résoudre la VM
127.0.1.1 juggernaut 192.168.122.29 inventree.kvm.internal