Instalar Kept
Elige cómo ejecutas Kept y sigue sus pasos. Cada camino tiene una guía completa en esta sección; el enlace está al final de sus pasos.
Docker Compose
Lo que necesitas
Docker con el plugin Compose, y una terminal. Probado con 1 GB de RAM y un núcleo de CPU; Kept y su base de datos usan alrededor de 200–400 MB de ella (lo que se probó).
-
Descarga
compose.yamlen una carpeta propia: Kept y su base de datos en un archivo, sin copia del repositorio y sin contraseñas que crear.Ventana de terminal mkdir kept && cd keptcurl -fsSLO https://raw.githubusercontent.com/keptinventory/kept/v1.14.7/compose.yaml -
Escribe
.env.initpregunta la dirección en la que abrirás Kept, comohttp://kept.home.arpa:8080. Usa un nombre en lugar de una dirección IP: las etiquetas impresas la llevan.Ventana de terminal docker compose run --rm initDeberías ver
Wrote .env.KEPT SETUP CODE: XXX-XXXNext: docker compose up -d, then open http://kept.home.arpa:8080 and enter the setup code. -
Inícialo. Arranca la base de datos, dos servicios de una sola ejecución crean sus inicios de sesión y aplican las migraciones, y luego Kept arranca en el puerto 8080.
Ventana de terminal docker compose up -dDeberías ver
En la dirección, la página Ingresa el código de configuración de Kept.
-
Configúralo. Introduce el código que mostró
inity crea la primera cuenta: se convierte en el administrador de la instancia. -
Guarda las claves. Imprime el kit de recuperación y guárdalo en otro lugar que no sea este servidor, como un gestor de contraseñas. Una copia de seguridad solo recupera los valores secretos con estas claves.
Ventana de terminal docker compose exec kept kept admin recovery-kitDeberías ver
Un texto que empieza por
KEPT RECOVERY KIT.
Cada paso en detalle, con Caddy para HTTPS y Ollama para IA local: Instalar con Docker Compose.
Kubernetes
Lo que necesitas
Un clúster de Kubernetes como k3s, kubectl y helm, y una terminal. El chart pide 384 MiB de
memoria para Kept (como máximo 1 GiB) y 256 MiB para su Postgres incluido (como máximo 512 MiB).
-
Crea los secrets. El chart nunca escribe un secret: los inicios de sesión de la base de datos y el superusuario del Postgres incluido toman sus contraseñas de secrets que creas antes.
Ventana de terminal kubectl create namespace keptpw() { openssl rand -hex 32; }# The four database logins (always).kubectl -n kept create secret generic kept-db \--from-literal=KEPT_DB_OWNER_PASSWORD="$(pw)" --from-literal=KEPT_DB_APP_PASSWORD="$(pw)" \--from-literal=KEPT_DB_AUTH_PASSWORD="$(pw)" --from-literal=KEPT_DB_SYSTEM_PASSWORD="$(pw)"# The bundled Postgres's superuser (or, for external Postgres with roles.create, the server admin's password).kubectl -n kept create secret generic kept-postgres --from-literal=POSTGRES_PASSWORD="$(pw)" -
Instala el chart, con
publicUrlen la dirección que la gente abrirá. No añadas--waita esta primera instalación: las migraciones se ejecutan después.Ventana de terminal helm install kept oci://ghcr.io/keptinventory/charts/kept --version 1.14.7 -n kept \--set publicUrl=https://kept.example.org \--set roles.existingSecret=kept-db --set postgres.superuserSecret=kept-postgresDeberías ver
La primera línea de las notas que imprime Helm:
Kept 1.14.7 is installed as "kept" in namespace "kept". -
Busca el código de configuración. Kept lo imprime una vez, en su primer inicio.
Ventana de terminal kubectl -n kept logs deploy/kept | grep 'KEPT SETUP CODE'Deberías ver
KEPT SETUP CODE: XXX-XXXAbre la dirección, introduce el código y crea la primera cuenta: se convierte en el administrador de la instancia.
-
Guarda las claves. Guarda el kit de recuperación fuera del clúster.
Ventana de terminal kubectl -n kept exec deploy/kept -- kept admin recovery-kit > kept-recovery-kit.txtDeberías ver
kept-recovery-kit.txt, que empieza porKEPT RECOVERY KIT. -
Compruébalo.
helm testpide al Kept en marcha/readyzy/version.Ventana de terminal helm test kept -n kept
En Windows, ejecuta estos comandos en WSL. Los valores, los secrets opcionales y lo que ejecuta el chart: Instalar en Kubernetes con Helm.
Desde el código
Lo que necesitas
Git, Docker con el plugin Compose, y una terminal. Kept se ejecuta como con Docker Compose, con tu propia imagen.
-
Consigue el código.
Ventana de terminal git clone https://github.com/keptinventory/kept.git && cd kept -
Construye la imagen, con la etiqueta
kept:local.Ventana de terminal docker build -t kept:local . -
Escribe
.env. Apuntacompose.yamla tu imagen y luego ejecutainit. Encuentra el.env, pregunta si debe actualizarlo (respondeY) y luego la dirección en la que abrirás Kept.Ventana de terminal echo KEPT_IMAGE=kept:local >> .envdocker compose run --rm initDeberías ver
Updated .env.KEPT SETUP CODE: XXX-XXX -
Inícialo y abre la dirección.
Ventana de terminal docker compose up -dDeberías ver
La página Ingresa el código de configuración de Kept. Introduce el código que mostró
inity crea la primera cuenta: se convierte en el administrador de la instancia. -
Guarda las claves. Imprime el kit de recuperación y guárdalo en otro lugar que no sea este servidor.
Ventana de terminal docker compose exec kept kept admin recovery-kitDeberías ver
Un texto que empieza por
KEPT RECOVERY KIT.
En Windows, ejecuta estos comandos en WSL. El mismo compose.yaml que una versión publicada,
explicado en detalle: Instalar con Docker Compose.
Home Assistant
Lo que necesitas
Home Assistant OS con Supervisor 2026.10.4 o posterior: las apps necesitan el Supervisor, así que
no Home Assistant Container ni Core. Una máquina aarch64 o amd64, como una Raspberry Pi 4 o 5
en 64 bits o una mini PC. 4 GB de memoria; 2 GB funcionan con pocas otras apps. Sin terminal.
-
Añade el repositorio de Kept. El botón abre tu Home Assistant con él ya rellenado. O ve a Configuración → Apps → Instalar app → ⋮ → Repositorios y agrega
Añade Kept a Home Assistanthttps://github.com/keptinventory/kept. -
Instalar, luego Iniciar. Busca Kept en la tienda de apps, luego Instalar, luego Iniciar.
Deberías ver
En la pestaña Log de la app, la dirección propia de Kept y el código de configuración:
Kept is at http://homeassistant.local:8080 (change it in Configuration: "Kept's address")KEPT SETUP CODE: XXX-XXX -
Abrir interfaz web. Kept se abre dentro de Home Assistant, también en la barra lateral.
Deberías ver
Para un administrador de Home Assistant, Crear la primera cuenta, sin código. Cualquier otra persona ve Ingresa el código de configuración y escribe el código de la pestaña Log.
La dirección de Kept, https y las copias de seguridad: Instalar como app de Home Assistant.
¿Algo no funciona?
Sección titulada «¿Algo no funciona?»- El contenedor se reinicia una y otra vez. Lee su registro:
docker compose logs kept. Kept comprueba su configuración antes de arrancar y se detiene con una línea que nombra el primer problema, comokept: invalid environment: KEPT_PUBLIC_URL(ejecutadocker compose run --rm init). Sidocker compose up -dse detiene enbootstrap,docker compose logs bootstrapdice por qué. Con menos de 1 GB de memoria, una copia de seguridad puede quedarse sin ella y Docker reinicia Kept (lo que necesita). Más - El puerto está en uso. Kept ocupa el puerto 8080 del host. Ejecuta
docker compose run --rm initotra vez con una direcciónhttp://en un puerto libre: escribe la dirección y el puerto (KEPT_HTTP_PORT) en.env. Luegodocker compose up -d. En la app de Home Assistant, cambia el puerto en Configuración → Red y ajusta Dirección de Kept para que coincida. Más - Permiso denegado. Kept se ejecuta como el usuario 10001 con un sistema de archivos de solo
lectura, así que una carpeta que montes en él, como un directorio de copias de seguridad, debe
pertenecer al uid 10001.
initescribe.enven la carpeta desde la que lo ejecutas: ejecútalo en una carpeta tuya. Más - Otros dispositivos no pueden abrirlo.
localhostsolo se abre en esta máquina. Usa un nombre que los otros dispositivos encuentren, configurado en el DNS de tu router o en el archivo hosts de cada dispositivo, y ejecutainitotra vez con él. Si Kept dice «Este Kept está configurado para dirección. Ábrelo allí.», ábrelo exactamente en esa dirección, o añade la otra enKEPT_EXTRA_ADDRESSES(más de una dirección). Más - Un 502 del proxy inverso. Kept habla HTTP sin cifrar en el puerto 8080: apunta el proxy a
http://, no ahttps://, en ese puerto (detrás de un proxy inverso). Kept arranca solo cuandomigrateha terminado; si falló,docker compose logs migratedice por qué. Más
Todo lo demás: Resolución de problemas.
Ir más allá
Sección titulada «Ir más allá»- HTTPS: la cámara, instalar la app, las notificaciones push y la ubicación lo necesitan. Pon Kept en HTTPS, o Kept en una red doméstica para lo que funciona sin él.
- El asistente: pregunta con palabras sencillas, con tu propio proveedor de IA; Kept funciona sin él. Proveedores de IA y Conecta un cliente de IA (MCP).
- Copias de seguridad: cada noche y cifradas, a un directorio, S3 o SFTP. Copias de seguridad.
- Correo: restablecer contraseñas, invitaciones y recordatorios por correo, con
KEPT_SMTP_URLyKEPT_SMTP_FROM. Correo, push y el feed del calendario. - Home Assistant: la integración lleva lo que vence a paneles y automatizaciones. Home Assistant.
Actualizaciones
Sección titulada «Actualizaciones»-
Docker Compose: pon la nueva versión en
KEPT_IMAGEde.env, y luego:Ventana de terminal docker compose pulldocker compose up -dUna versión que cambia
compose.yamllo dice en sus notas: descarga su archivo sobre el tuyo. -
Desde el código:
Ventana de terminal git pulldocker build -t kept:local .docker compose up -d -
Kubernetes: cada versión publica un chart con la misma versión, y sus migraciones se ejecutan en un Job antes de que la nueva versión atienda.
-
Home Assistant: Home Assistant ofrece la actualización. Activa Mantener copia de seguridad de la última versión en su diálogo de actualización.
Con un destino de copia de seguridad configurado, Kept toma una instantánea antes de migrar. Actualizaciones y reversión.