A self-hosted, open-source inventory of everything you own and where it is,
with its paperwork and its history.
Try Kept · Try the map · Host it · Docs
Homes, garages and storage units; the rooms, shelves and boxes inside them; the things inside those, with receipts, manuals, warranties and history. Self-hosted, on your own server or homelab. Nothing leaves it unless you turn it on: no telemetry, the update check off by default, the AI provider yours to choose.
Try it in your browser
Nothing to install, nothing saved.
- Try Kept: the whole app, with a sample household.
- Try the map: the 3D map, with a sample home.
A look around
The location map
Each location as a 3D map: floors, rooms, shelves and boxes, what's inside one tap away. Arranged by you, or laid out by Kept. Plan view, balconies and terraces, phones included (the map).
On a phone
Installs as an app. Capture, scan and search, offline too.
A thing
A short ID, where it is down to the box, its details, paperwork, value, loans and history.
Labels
A short ID and a QR code for every box. Label-printer rolls or office-printer sheets; scan one to open the box.
What it does
- Inventory. Locations, places, boxes and things, with photos, documents, tags, custom fields, quantities, saved views, search and a trash you can restore from.
- Capture. Photograph a thing, a receipt or a label, online or offline; your AI provider (OpenAI, Anthropic, Google, OpenRouter, Groq, or an OpenAI-compatible server such as Ollama) suggests the details and you confirm them. Without one, you type them.
- Labels. Print label sheets with a short ID and a QR code; scan one to open the box it is on.
- The household. Shared locations with roles, lending, schedules, warranties, paperwork and an insurance report; reminders in the app, by mail, by push and in a calendar feed.
- Moving house. Numbered boxes, a label and a contents sheet for each, tracked in the van, unpacked by scanning (moving).
- Vehicles and machines. Readings, services, fuel and running costs.
- AI assistant and MCP server. Ask in plain words; changes wait for your OK. Claude and other
AI agents connect at
/mcp(how). - Backups you can read. Nightly restic backups to a directory, S3 or SFTP, each with a copy that opens in a browser without Kept; imports from Homebox and CSV, full exports.
- Five languages: English, Arabic (right to left), French, German and Italian.
Quick start: host it
Docker with Compose v2, on a machine with at least 2 GB of RAM and 2 CPU cores (what it needs).
git clone --branch v1.11.1 --depth 1 https://github.com/keptinventory/kept.git && cd kept cp compose.env.example .env for v in SUPERUSER OWNER APP AUTH SYSTEM; do sed -i.bak "s/^KEPT_DB_${v}_PASSWORD=\$/KEPT_DB_${v}_PASSWORD=$(openssl rand -hex 32)/" .env done sed -i.bak 's|^KEPT_IMAGE=$|KEPT_IMAGE=ghcr.io/keptinventory/kept:1.11.1|' .env && rm .env.bak # Set KEPT_PUBLIC_URL in .env to the address you will open, e.g. http://<this host>:8080 docker compose pull docker compose up -d docker compose logs kept | grep "KEPT SETUP CODE"
.env: five generated database passwords, the released image, andKEPT_PUBLIC_URL: exactly the address the browser shows (links and QR codes are built from it).- Start: the database, then the one-shot
migrate, then Kept on port 8080 (KEPT_HTTP_PORTchanges it). - First run: open
KEPT_PUBLIC_URL, enter the setup code from the log, create the first account. It becomes the instance admin. - Keep the keys:
docker compose exec kept kept admin recovery-kitprints them. Store them off this server: a backup restores secret values only with the key.
The camera, installing the app, push and location need HTTPS:
docker compose --profile https up -d adds Caddy with a certificate for KEPT_DOMAIN
(HTTPS). Every step in full:
the install guide.
- Kubernetes: the Helm chart,
oci://ghcr.io/keptinventory/charts/kept, signed and published with each release (install on Kubernetes). - Verify the image:
cosign verify --key cosign.pub <image>:<version>, withcosign.pubfrom this repository (verifying a release). - Backups: nightly, encrypted, to a directory, S3 or SFTP (backups).
Works with
- Home Assistant: the kept-homeassistant integration, a HACS custom repository (setup).
- Paperless-ngx: receipts, manuals and warranty cards linked to things (setup).
- The rest: integrations.
What's next
- Now: fill Kept from your camera: walk a room, AI drafts what it sees · continuous scanning: count a whole room in one walk
- Next: mobile apps · kits and "who has it" · more 3D map shapes, from your requests
- Later: stocktakes · more barcode types and video · scan a room into the 3D map
Full roadmap → · 👍 the themes you want most.
Links
| Documentation | keptinventory.info |
| Install | Docker Compose, HTTPS, Kubernetes (Helm chart in charts/kept), configuration |
| API | HTTP API reference, generated from the OpenAPI document |
| MCP | Connect an AI client |
| Roadmap | Now, next and later |
| Questions and ideas | Discussions |
| Contributing | CONTRIBUTING.md: a discussion or an issue first for anything larger than a fix; sign the CLA once |
| Security | SECURITY.md: report privately, never in a public issue |
| Changelog | CHANGELOG.md |
Licence
Kept is free software under the GNU Affero General Public License, version 3
(LICENSE), and every feature ships in it: nothing is held back. If you run a modified
Kept for other people, you must offer them its source. The image carries the third-party notices
of everything inside it, served at /notices.txt.
