Favicon of InvenTree

InvenTree

Manage parts, track stock, and organize suppliers with this open-source inventory system. Features include BOM management and custom plugin integrations.

Manage your inventory with an open-source system designed for both businesses and hobbyists. This platform provides core workflows for intuitive parts management and precise stock control, ensuring you always know exactly what you have and where it is located.

Key features include:

  • Organize Parts: Group components into structured categories tailored to your specific workflow.
  • Manage Suppliers: Easily link, modify, or remove suppliers and supplier items connected to your inventory.
  • Instant Stock Knowledge: View current stock levels for specific parts, locations, or individual build requirements at a glance.
  • BOM Management: Utilize intelligent Bill of Material management to understand the exact sub-parts needed for new assemblies.

Built to be highly extensible, the system supports direct integration with external applications and offers a wide range of custom plugins to adapt to your specific requirements.

Directory Structure

inventree
data
.env
docker-compose.yml

docker-compose.yml

services:
  inventree-server:
    image: inventree/inventree:stable
    container_name: inventree-server
    restart: unless-stopped
    ports:
      - "8000:8000"
    environment:
      - INVENTREE_DB_ENGINE=django.db.backends.postgresql
      - INVENTREE_DB_NAME=${INVENTREE_DB_NAME}
      - INVENTREE_DB_USER=${INVENTREE_DB_USER}
      - INVENTREE_DB_PASSWORD=${INVENTREE_DB_PASSWORD}
      - INVENTREE_DB_HOST=inventree-db
      - INVENTREE_DB_PORT=5432
      - INVENTREE_ADMIN_USER=${INVENTREE_ADMIN_USER}
      - INVENTREE_ADMIN_PASSWORD=${INVENTREE_ADMIN_PASSWORD}
      - INVENTREE_ADMIN_EMAIL=${INVENTREE_ADMIN_EMAIL}
      - INVENTREE_SECRET_KEY=${INVENTREE_SECRET_KEY}
      - INVENTREE_MEDIA_ROOT=/home/inventree/data/media
      - INVENTREE_STATIC_ROOT=/home/inventree/data/static
    depends_on:
      - inventree-db
      - inventree-cache
    volumes:
      - ./data/inventree:/home/inventree/data

  inventree-worker:
    image: inventree/inventree:stable
    container_name: inventree-worker
    restart: unless-stopped
    command: invoke worker
    environment:
      - INVENTREE_DB_ENGINE=django.db.backends.postgresql
      - INVENTREE_DB_NAME=${INVENTREE_DB_NAME}
      - INVENTREE_DB_USER=${INVENTREE_DB_USER}
      - INVENTREE_DB_PASSWORD=${INVENTREE_DB_PASSWORD}
      - INVENTREE_DB_HOST=inventree-db
      - INVENTREE_DB_PORT=5432
      - INVENTREE_SECRET_KEY=${INVENTREE_SECRET_KEY}
      - INVENTREE_MEDIA_ROOT=/home/inventree/data/media
      - INVENTREE_STATIC_ROOT=/home/inventree/data/static
    depends_on:
      - inventree-server
    volumes:
      - ./data/inventree:/home/inventree/data

  inventree-db:
    image: postgres:13-alpine
    container_name: inventree-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=${INVENTREE_DB_USER}
      - POSTGRES_PASSWORD=${INVENTREE_DB_PASSWORD}
      - POSTGRES_DB=${INVENTREE_DB_NAME}
    volumes:
      - ./data/db:/var/lib/postgresql/data

  inventree-cache:
    image: redis:7-alpine
    container_name: inventree-cache
    restart: unless-stopped

.env

# Database Configuration
INVENTREE_DB_NAME=inventree
INVENTREE_DB_USER=inventree
INVENTREE_DB_PASSWORD=your_secure_database_password

# Admin User Configuration (Used for initial setup)
INVENTREE_ADMIN_USER=admin
INVENTREE_ADMIN_PASSWORD=your_secure_admin_password
INVENTREE_ADMIN_EMAIL=admin@example.com

# Security
INVENTREE_SECRET_KEY=your_generated_secret_key_here

Share:

Ad
Favicon

 

  
 

Similar to InvenTree

Favicon

 

  
  
Favicon

 

  
  
Favicon