Sobre o projeto

Allos é um aplicativo de registro de saúde, rastreamento e coaching auto-hospedado voltado para indivíduos, lares e cuidadores. Seu nome refere-se à allostase, a maneira do corpo de manter a estabilidade através da mudança. O objetivo declarado do projeto é reunir informações pessoais de saúde em uma linha do tempo privada, em vez de espalhá-las entre serviços de terceiros. Os dados são armazenados no próprio banco de dados SQLite do operador, a maior parte da análise é executada localmente em relação aos conjuntos de dados agrupados e os recursos de IA são opcionais. Escopo de rastreamento O aplicativo abrange saúde diária (sintomas, humor, sono, sinais vitais, medidas corporais, nutrição, práticas de bem-estar), treinamento (força, cardio, esportes, rotinas, metas, contexto de recuperação), histórico médico (condições, alergias, procedimentos, imunizações, consultas, planos de cuidado, histórico familiar), exames e documentos (biomarcadores, faixas de referência, exames, PDFs, importações de registros), e medicamentos e suplementos (agendas, histórico de doses, reposições, adesão, avisos de interação verificados localmente). O suporte ao lar inclui perfis separados, acesso para cuidadores, concessões de somente leitura e visualizações entre perfis, e os perfis não exigem login individual. Os dados podem chegar por meio do Health Connect, Strava, Oura, exportações do Fitbit, Withings, feeds de calendário e importações baseadas em FHIR/CCD, como o MyChart. Lembretes podem ser entregues pelo Telegram, Web Push, Home Assistant ou e-mail, e tudo pode ser exportado como JSON, CSV, FHIR ou arquivos enviados. Princípios de design O README lista cinco: local por padrão, com serviços externos opt-in; saúde apresentada como direção em vez de pontuação, de modo que os sinais brutos sejam mostrados em vez de uma única pontuação de saúde inventada; descobertas que são informativas e citam fontes em vez de serem prescritivas; um tom calmo, salvo quando a segurança importa, com lembretes de segurança de medicamentos tratados com mais cuidado do que outras observações; e controle do usuário, significando que correções manuais sobrevivem às sincronizações, prioridades permanecem de propriedade do usuário e os dados podem ser exportados. Implantação O Docker Compose é o caminho recomendado. Ele inicia o aplicativo web mais um pequeno serviço de agendador para notificações e backups. Os operadores clonam o repositório, copiam .env.example para .env e definem, no mínimo, uma senha de administrador e um DATA_DIR absoluto fora do checkout (o padrão é ./data). A primeira senha de administrador só se aplica quando o primeiro login é criado. Em seguida, a pilha é iniciada com docker compose up -d --pull always e acessada na porta 3000. As atualizações puxam a imagem publicada do GitHub Container Registry; uma compilação específica pode ser fixada através da variável IMAGE. As migrações de banco de dados são executadas automaticamente na inicialização, e o banco de dados é copiado para data/backups/pre-migration primeiro, com o container recusando iniciar se essa cópia não puder ser feita. Execução a partir do código-fonte requer Node.js 24 (fixado em .nvmrc), npm e os pré-requisitos de build nativo para better-sqlite3; npm ci e npm run dev são suficientes, com o banco de dados SQLite criado em data/allos.db. Um comando de seed pode carregar várias semanas de dados sintéticos de exemplo, o que o README alerta contra executar em uma instância que contém registros reais. Pessoas e acesso Administradores criam perfis para as pessoas rastreadas, logins para aqueles que fazem login e concessões que concedem acesso de leitura/escrita ou somente leitura a perfis selecionados, tudo em Configurações, Pessoas & acesso. Os administradores podem acessar todos os perfis, então sua entrada lá seleciona quais perfis receberão os lembretes; as notificações são opt-in por perfil. Dados, backups e privacidade O estado persistente sob DATA_DIR inclui allos.db, arquivos médicos enviados, logs e backups verificados além das cópias pré-migração. O snapshot noturno integrado compartilha um volume com o banco de dados ao vivo, portanto o README recomenda configurar BACKUP_DEST_DIR como um segundo local montado e verificá-lo em Configurações. Os snapshots não incluem arquivos enviados, que o recurso de backup fora do volume espelha separadamente. Serviços opcionais recebem apenas os dados necessários para o recurso ativado: um endpoint compatível com Anthropic pode ser configurado (incluindo um auto-hospedado via AI_BASE_URL), e o SMTP fornece convites de login, redefinições de senha e e-mail de notificação opt-in que é livre de conteúdo por padrão, de modo que nenhum detalhe de saúde chegue à caixa de entrada. Tecnologia e licença A pilha é Next.js 16 com o App Router e Server Actions, React 19, TypeScript, SQLite através do better-sqlite3, Tailwind CSS e Recharts, com IA compatível com Anthropic opcional. As verificações de desenvolvimento incluem formatação, lint, typecheck, testes unitários, testes de integração separados do SQLite, testes end-to-end do Playwright contra bancos de dados seedados isolados e uma build de produção; os contribuidores são direcionados ao AGENTS.md para convenções de arquitetura, escopo de dados, migração e testes. Allos está licenciado sob a GNU Affero General Public License v3.0 (AGPL-3.0-only).