A self-hosted IT inventory and documentation system for tracking assets, networks, and services across multiple organizations and sites.
- Multi-Organization: Manage multiple orgs with data isolation
- Asset Management: Track servers, workstations, networks, software, and devices
- Nmap Integration: Import network scans to auto-discover assets and services
- Documentation: Markdown-based docs with asset linking
- File Sharing: Share files and documentation via public links
- Role-Based Access: Super Admin, Org Admin, Technician, Read-Only roles
- Python 3.8+
- Node.js 18+
# macOS/Linux
./setup.sh# Windows (PowerShell)
./setup.ps1The setup script installs Python and Node dependencies, creates .env from .env.example if missing, and optionally configures LAN access.
# Backend
pip install -r requirements.txt
# Frontend
cd frontend
npm installOn Debian/Ubuntu, use a virtual environment for Python packages:
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txtcp .env.example .envFor LAN access, update these keys in .env:
BACKEND_HOST=0.0.0.0FRONTEND_HOST=0.0.0.0NEXT_PUBLIC_API_URL=http://YOUR_LAN_IP:8088CORS_ORIGINS=http://localhost:3036,http://127.0.0.1:3036,http://YOUR_LAN_IP:3036
# Terminal 1 - Backend (port 8088)
python -m uvicorn main:app --reload --port 8088
# Terminal 2 - Frontend (port 3000)
cd frontend
npm run dev- Email:
admin@inventory.local - Password:
admin123
Change these after first login!
Password change on first login will be forced in future versions
| Variable | Description | Default |
|---|---|---|
DATABASE_URL |
Database connection | sqlite:///inventory.db |
SECRET_KEY |
JWT signing key | Auto-generated |
CORS_ORIGINS |
Allowed origins | http://localhost:3000 |
Once running, visit:
- Swagger UI: http://localhost:8088/docs
- ReDoc: http://localhost:8088/redoc
Automatically imports assets and services via Nmap XML output
- Backend: Python, FastAPI, SQLModel, SQLite/PostgreSQL
- Frontend: Next.js 14, React 18
MIT