selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

HealthLog logo

Self-host HealthLog

v1.46.1

Self-hosted health tracker with device sync and AI insights

ReleaseSource AvailableOther
Updated12 hours ago
LanguageTypescript
Setup difficultyModerate
MobilePWA
ThemeDark mode
Stars
250
Port
3000 (HTTP web server)
Requires
PostgreSQL
Docker
ghcr.io/mbombeck/healthlog
Install with Docker Compose
HealthLog dashboard in dark theme showing health score, medications, sleep, cycle, and metric tiles with 7-day trendsBlood pressure chart with day panel open showing medications, values against 30-day range, and scoresAI Coach conversation about the week's recovery with reasoning steps and previous conversationsMobile PWA dashboard on phone showing health score, medications, sleep, and appointmentMobile day view as bottom sheet with medications and blood pressure against usual range

What is HealthLog?

This self-hosted health application runs on your own server using Docker Compose. It brings together vital signs, sleep patterns, mood entries, menstrual cycle data, medication schedules, and clinical signals into a single chronological view. The system pulls information from popular wearables and platforms such as Withings scales, WHOOP bands, Oura rings, Polar devices, Fitbit trackers, Strava activities, Nightscout instances, and Apple Health. Key capabilities include medication adherence tracking, AI-generated daily summaries and a conversational coach powered by your own API keys or locally hosted models, an encrypted vault for medical documents, clinician-oriented PDF reports, a FHIR R4 interface, and granular sharing controls for family members. The web interface functions as a progressive web app with offline capability, complemented by a native iOS client that synchronizes directly with HealthKit. All information is stored in PostgreSQL with AES-256-GCM encryption protecting notes, documents, and credentials at rest. The project uses the PolyForm Noncommercial 1.0.0 license, permitting free noncommercial use.

Should you self-host HealthLog?

HealthLog scores 51/100 on selfhost.directory (how scoring works) and ranks #11 of 31 in Health & Fitness. It has 250 GitHub stars.

It shipped 46 stable releases in the past year. The latest, v1.46.1, came out on 26 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is Other-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is wger (73/100, 7 200 stars). It scores higher overall, so compare the two before you pick. See HealthLog vs wger side by side.

Features

  • AI Insights
  • Clinical signals
  • Device synchronization
  • Doctor report PDF
  • Document vault
  • Encryption at Rest
  • Environmental correlations
  • FHIR R4 API
  • Health timeline
  • Managed profiles
  • Medication Tracking
  • Multi-language Support
  • Passkey Authentication
  • Shared access

HealthLog README

How to install HealthLog

Install HealthLog with Docker Compose

Environment variables
POSTGRES_PASSWORD, ENCRYPTION_KEY, API_TOKEN_HMAC_KEY, SESSION_COOKIE_SECURE, NEXT_PUBLIC_APP_URL, APP_URL, and many optional variables for integrations, backups, AI, notifications, etc.

git clone https://github.com/MBombeck/HealthLog.git && cd HealthLog cp .env.example .env

echo "POSTGRES_PASSWORD=$(openssl rand -hex 32)" >> .env echo "ENCRYPTION_KEY=$(openssl rand -hex 32)" >> .env echo "API_TOKEN_HMAC_KEY=$(openssl rand -hex 32)" >> .env

echo "SESSION_COOKIE_SECURE=false" >> .env

docker compose up -d

Pre-built multi-arch image (amd64 + arm64) from GHCR; no build step required. For LAN/plain-HTTP, SESSION_COOKIE_SECURE=false is required. Behind TLS reverse proxy, omit that line and set NEXT_PUBLIC_APP_URL/APP_URL.

HealthLog releases & version history

FAQ

Is HealthLog a medical device?

No. HealthLog is a personal health-tracking tool, not a medical device, and does not diagnose. Screening questionnaires (PHQ-9, GAD-7) are for self-awareness, not diagnosis. The AI Coach summarizes your data rather than giving medical advice. Always consult a qualified clinician for medical decisions.

Is there an Android app?

Not a native one. HealthLog is a web app you can install to your home screen from the browser (PWA). For device data, export from Health Connect to a cloud folder, then upload the file in HealthLog's settings. It's an import, not live sync, so repeat when you want newer data.

Can I keep a record for my child or someone I care for?

Yes. A managed profile is a health record for a person without a login (no password, no email). Guardians manage it and receive reminders. When ready, a guardian can hand it over via a one-time link, making it the person's own account with full history. The record can never be left unattended.

Can I let a family member see my health record?

Yes, if they have an account on the same instance. You send an invitation from Settings with a chosen access level (read, read+add, or manage) and scope (which parts of the record). Nothing happens until they accept. Either side can end access at any time. It's a grant between accounts, not a shared login.

Can HealthLog store and search my medical documents?

Yes. An optional, off-by-default document vault keeps letters, reports, and scans encrypted at rest. Each upload is made searchable automatically by a local reader or, with per-document consent, by your configured AI provider. You can search document contents over an encrypted blind index, ask a single document a grounded question, and share one with a clinician via a time-boxed, revocable QR link with photo metadata stripped.

Can I connect HealthLog to an AI assistant?

Yes. HealthLog can expose your record to MCP-compatible assistants like Claude or ChatGPT over an OAuth-secured Model Context Protocol server. It is off by default, gated behind a module switch; you mint the connector token yourself (read-only or read-and-write), and any write is previewed, confirmed, append-only, and audited.

Which devices and services does HealthLog integrate with?

Withings, WHOOP, Oura, Polar, Fitbit, Strava, Nightscout, and Dawarich sync over OAuth or your own endpoints. Apple Health syncs live through the iOS app or via export import. Android users can import Health Connect exports. AI insights run against OpenAI, Anthropic, ChatGPT subscription, or local models (Ollama, LM Studio, vLLM).

Where is my health data stored?

Entirely on your own infrastructure. HealthLog uses PostgreSQL with notes, documents, questionnaire answers, Coach conversations, and tokens encrypted at rest using AES-256-GCM. Measurement values, lab values, medication names, and mood scores are stored unencrypted for querying and charting. No usage telemetry or third-party analytics.

Does HealthLog sync with Apple Health?

Yes. The native SwiftUI iOS app keeps Apple Health (HealthKit) in two-way sync: steps, weight, blood pressure, blood glucose, sleep, and body composition flow to your server. You can also upload an Apple Health export.zip on any platform.

Is HealthLog free?

Yes, for noncommercial use. HealthLog is source-available under the PolyForm Noncommercial 1.0.0 license. You run it on your own server with a single docker compose up. There is no subscription and no paid tier. The iPhone app is a small one-time purchase on the App Store; the TestFlight beta and a copy you build yourself are free.

More in Health & Fitness

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…