43 lines
2.3 KiB
Markdown
43 lines
2.3 KiB
Markdown
# Stockroom Inventory
|
|
|
|
A Dockerized inventory system for computers, audio equipment, graphics hardware, long-play records, CDs, displays, peripherals, and other assets.
|
|
|
|
## Run with Docker
|
|
|
|
```bash
|
|
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
|
|
- Admin-managed inventory types with a selectable set of fields for each type
|
|
- 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** and manage inventory types from **Manage types**. 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 and types. 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
|
|
|
|
```bash
|
|
python -m venv .venv
|
|
.venv\\Scripts\\activate
|
|
pip install -r requirements.txt
|
|
python app.py
|
|
```
|