Skip to content
keptinventoryPublic

Latest commit

 

History

146 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kept

A self-hosted, open-source inventory of everything you own and where it is,
with its paperwork and its history.

Latest release CI status Licence: AGPL-3.0 Documentation Container image: ghcr.io/keptinventory/kept CLA and DCO sign-off

Try Kept · Try the map · Host it · Docs

Kept's home screen on a desktop, with the same screen on a phone in front: what needs you, the get-started checklist and recent activity

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).

A home on Kept's 3D location map: rooms with their floors and walls, the place tree beside it, and the List · Grid · Map switch The location map on a phone, with a thing's card at the bottom

On a phone

Installs as an app. Capture, scan and search, offline too.

Kept's Home on a phone: Get started, the Needs you tiles and the shortcuts, above the tab bar with its Capture button Searching for cable on a phone: the cable box and the HDMI cable, each with its path and label The capture screen on a phone, its camera on a labelled box on the garage shelves

A thing

A short ID, where it is down to the box, its details, paperwork, value, loans and history.

An HDMI cable in Kept: its short ID, its path Home › Office › Desk drawer › Cable box, and its details: type, quantity, tags and connectors

Labels

A short ID and a QR code for every box. Label-printer rolls or office-printer sheets; scan one to open the box.

Printing labels: six things on an A4 sheet of 24, with the sheet preview

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.

Claude Code connected to Kept over MCP: asked to add a TV with its serial number, it puts it in Home › Living room

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.10.6 --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.10.6|' .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"
  1. .env: five generated database passwords, the released image, and KEPT_PUBLIC_URL: exactly the address the browser shows (links and QR codes are built from it).
  2. Start: the database, then the one-shot migrate, then Kept on port 8080 (KEPT_HTTP_PORT changes it).
  3. First run: open KEPT_PUBLIC_URL, enter the setup code from the log, create the first account. It becomes the instance admin.
  4. Keep the keys: docker compose exec kept kept admin recovery-kit prints 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>, with cosign.pub from this repository (verifying a release).
  • Backups: nightly, encrypted, to a directory, S3 or SFTP (backups).

Works with

Kept works with what you already run: Home Assistant and Paperless-ngx both ways; imports from Homebox, LubeLogger and spreadsheets; notifications to ntfy, Telegram, Slack, Discord, Matrix, Signal, email and webhooks; the MCP server for Claude and ChatGPT; AI models from OpenAI, Anthropic, Gemini, Groq, OpenRouter and Ollama

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 What's planned, in progress and shipped
Questions and ideas Discussions
Contributing CONTRIBUTING.md: a discussion or an issue first for anything larger than a fix; the CLA once, a sign-off on every commit
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.

Releases

Packages

Used by

Contributors

Languages