Stockroom Inventory
A Dockerized inventory system for computers, audio equipment, graphics hardware, long-play records, CDs, displays, peripherals, and other assets.
Run with Docker
docker compose up --build
Open http://localhost:5000. The SQLite database is stored in the project-local data folder.
Features
- Search by name, brand, model, serial number, asset tag, or location
- Filter by item type and status
- Add, edit, and delete inventory records
- Upload and display up to five device pictures per item (JPG, PNG, GIF, or WebP; up to 10 MB per request)
- Add more pictures or delete individual pictures while editing an item
- Computer fields: CPU, RAM, GPU, and disk/storage
- Media field: format
- CSV export of the currently visible inventory
- Responsive web UI for desktop and mobile
- Account login with read-only, read-and-write, and admin access levels
- Amin and admins can export inventory and backup or restore data
- Admins can add users and manage access levels
The project-local data folder is mounted at /data. The SQLite database is stored at data/inventory.db, and uploaded pictures are stored in data/uploads. Keep this folder with the project when moving it to another computer. Existing databases are migrated automatically when the application starts.
On first startup, the app creates an admin account with password admin and an Amin account with password amin. Set ADMIN_USERNAME, ADMIN_PASSWORD, AMIN_PASSWORD, and SECRET_KEY in the environment before starting the app, then change these credentials for any shared deployment. Admins can add further users from Manage users. Read-only users can view inventory, read-and-write users can add and edit items, and admins can add, edit, and delete items as well as manage users. Export, backup, and restore are visible to admins and Amin.
Use Backup data in the sidebar to download a ZIP containing the database and uploaded pictures. On another computer, start the application and use Restore data to upload that ZIP. Restoring replaces the current inventory and pictures.
Local development
python -m venv .venv
.venv\\Scripts\\activate
pip install -r requirements.txt
python app.py