This guide walks through a self-hosted installation of InvenTree. The current stable version is 1.2.0, released February 12, 2026.
For Docker installation, see Docker.
InvenTree can be deployed using several methods depending on your requirements:
For quick evaluation and testing purposes:
# Pull and run the latest stable version
docker run -it --rm \
-v inventree-media:/home/inventree/.local/share/inventree/media \
-v inventree-static:/home/inventree/.local/share/inventree/static \
-p 8000:8000 \
ghcr.io/inventree/inventree:stable
For production deployments with persistent storage:
mkdir inventree && cd inventree
version: '3.8'
services:
db:
image: postgres:15
restart: always
environment:
POSTGRES_DB: inventree
POSTGRES_USER: inventree
POSTGRES_PASSWORD: inventree123 # Change this password!
volumes:
- inventree-db-data:/var/lib/postgresql/data
redis:
image: redis:alpine
restart: always
inventree-server:
image: ghcr.io/inventree/inventree:stable # Use 'latest' for development
restart: always
depends_on:
- db
- redis
ports:
- "8000:8000"
environment:
- INVENTREE_DB_ENGINE=postgresql
- INVENTREE_DB_NAME=inventree
- INVENTREE_DB_USER=inventree
- INVENTREE_DB_PASSWORD=inventree123 # Match the DB password
- INVENTREE_DB_HOST=db
- INVENTREE_REDIS_URL=redis://redis:6379
- INVENTREE_MEDIA_ROOT=/media
- INVENTREE_STATIC_ROOT=/static
volumes:
- inventree-media-data:/media
- inventree-static-data:/static
command: >
sh -c "python manage.py migrate &&
python manage.py collectstatic --no-input &&
python manage.py check --deploy &&
gunicorn InvenTree.wsgi:application --bind 0.0.0.0:8000"
volumes:
inventree-db-data:
inventree-media-data:
inventree-static-data:
docker compose up -d
http://your-server-ip:8000 and create your first superuser account.For advanced users who prefer direct installation on the host system:
# On Ubuntu/Debian
sudo apt update
sudo apt install -y python3 python3-pip python3-dev python3-virtualenv \
build-essential libcairo2-dev libpango1.0-dev \
libjpeg-dev libgif-dev librsvg2-dev postgresql \
postgresql-contrib redis-server git
sudo useradd -m -s /bin/bash inventree
sudo su - inventree
git clone https://github.com/inventree/InvenTree.git
cd InvenTree
python3 -m venv inventree-env
source inventree-env/bin/activate
pip install -r requirements.txt
# Create database and user
sudo -u postgres psql
CREATE DATABASE inventree;
CREATE USER inventree WITH PASSWORD 'your_secure_password';
GRANT ALL PRIVILEGES ON DATABASE inventree TO inventree;
ALTER USER inventree CREATEDB;
\q
source inventree-env/bin/activate
cd ~/InvenTree
python manage.py migrate
python manage.py createsuperuser
python manage.py collectstatic
python manage.py runserver 0.0.0.0:8000
Prefer automation? See InvenTree Ansible Setup for an example playbook.
Prefer containers? See InvenTree Docker Setup.
stable tag for production environments (recommended)latest tag for development/testing to access newest features1.2.0 for pinned deploymentsdocker compose logs -fdocker compose exec db psql -U inventree -d inventree -c "\dt"Any questions?
Feel free to contact us. Find all contact information on our contact page.