Sobre el proyecto

Allos es una aplicación de registro, seguimiento y coaching de salud autoalojada dirigida a individuos, hogares y cuidadores. Su nombre hace referencia a la alostasis, la forma en que el cuerpo mantiene la estabilidad a través del cambio. El objetivo declarado del proyecto es reunir la información de salud personal en una sola línea de tiempo privada en lugar de dispersarla en servicios de terceros. Los datos se almacenan en la propia base de datos SQLite del operador, la mayor parte del análisis se ejecuta localmente con conjuntos de datos integrados y las funciones de IA son opcionales. Alcance del seguimiento La aplicación cubre la salud diaria (síntomas, estado de ánimo, sueño, constantes vitales, medidas corporales, nutrición, prácticas de bienestar), entrenamiento (fuerza, cardio, deportes, rutinas, objetivos, contexto de recuperación), historial médico (afecciones, alergias, procedimientos, inmunizaciones, citas, planes de cuidado, antecedentes familiares), laboratorios y documentos (biomarcadores, rangos de referencia, escaneos, PDFs, importaciones de registros), y medicamentos y suplementos (horarios, historial de dosis, recargas, adherencia, advertencias de interacción verificadas localmente). El soporte para el hogar incluye perfiles separados, acceso para cuidadores, concesiones de solo lectura y vistas entre perfiles, y los perfiles no requieren cada uno un inicio de sesión. Los datos pueden llegar a través de Health Connect, Strava, Oura, exportaciones de Fitbit, Withings, feeds de calendario e importaciones basadas en FHIR/CCD como MyChart. Los recordatorios pueden entregarse a través de Telegram, Web Push, Home Assistant o correo electrónico, y todo puede exportarse como JSON, CSV, FHIR o archivos cargados. Principios de diseño El README enumera cinco: local por defecto, con servicios externos opcionales; la salud se presenta como orientación en lugar de puntuación, por lo que se muestran señales brutas en lugar de una única puntuación de salud inventada; hallazgos que son informativos y citan fuentes en lugar de ser prescriptivos; un tono tranquilo a menos que la seguridad sea importante, manejando los recordatorios de seguridad de medicamentos con más cuidado que otras observaciones; y control del usuario, lo que significa que las correcciones manuales sobreviven a las sincronizaciones, las prioridades siguen siendo propiedad del usuario y los datos pueden exportarse. Despliegue Docker Compose es la ruta recomendada. Inicia la aplicación web más un pequeño servicio de programación para notificaciones y copias de seguridad. Los operadores clonan el repositorio, copian .env.example a .env y establecen, como mínimo, una contraseña de administrador y un DATA_DIR absoluto fuera del checkout (el predeterminado es ./data). La primera contraseña de administrador solo se aplica cuando se crea el primer inicio de sesión. El stack se inicia entonces con docker compose up -d --pull always y se accede a través del puerto 3000. Las actualizaciones descargan la imagen publicada desde GitHub Container Registry; se puede fijar una compilación específica mediante la variable IMAGE. Las migraciones de la base de datos se ejecutan automáticamente al iniciar, y la base de datos se copia primero a data/backups/pre-migration, rechazando el contenedor el inicio si no se puede realizar dicha copia. Ejecutar desde el código fuente requiere Node.js 24 (fijado en .nvmrc), npm y los prerrequisitos de compilación nativa para better-sqlite3; npm ci y npm run dev son suficientes, con la base de datos SQLite creada en data/allos.db. Un comando de seed puede cargar varias semanas de datos de muestra sintéticos, sobre lo cual el README advierte que no se ejecute en una instancia que contenga registros reales. Personas y acceso Los administradores crean perfiles para las personas rastreadas, inicios de sesión para quienes acceden y concesiones que otorgan acceso de lectura/escritura o solo lectura a perfiles seleccionados, todo bajo Settings, People & access. Los administradores pueden acceder a cada perfil, por lo que su entrada allí selecciona qué recordatorios de perfiles les llegan; las notificaciones son opcionales por perfil. Datos, copias de seguridad y privacidad El estado persistente bajo DATA_DIR incluye allos.db, archivos médicos cargados, registros y copias de seguridad verificadas más copias previas a la migración. El snapshot nocturno integrado comparte un volumen con la base de datos activa, por lo que el README recomienda configurar BACKUP_DEST_DIR como una segunda ubicación montada y verificarla desde Settings. Los snapshots no incluyen los archivos cargados, que la función de copia de seguridad fuera del volumen refleja por separado. Los servicios opcionales reciben solo los datos requeridos para la función habilitada: se puede configurar un endpoint compatible con Anthropic (incluyendo uno autoalojado vía AI_BASE_URL), y SMTP proporciona invitaciones de inicio de sesión, restablecimiento de contraseñas y correos electrónicos de notificación opcionales que, por defecto, no contienen contenido para que ningún detalle de salud llegue a una bandeja de entrada. Tecnología y licencia El stack es Next.js 16 con App Router y Server Actions, React 19, TypeScript, SQLite a través de better-sqlite3, Tailwind CSS y Recharts, con IA compatible con Anthropic opcional. Las comprobaciones de desarrollo incluyen formateo, lint, typecheck, pruebas unitarias, pruebas de integración de SQLite separadas, pruebas end-to-end de Playwright contra bases de datos aisladas con seed, y una compilación de producción; los colaboradores son dirigidos a AGENTS.md para convenciones de arquitectura, alcance de datos, migración y pruebas. Allos tiene licencia bajo la GNU Affero General Public License v3.0 (AGPL-3.0-only).