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.

GitHub
Hermes Life OS logo

Self-host Hermes Life OS

v1.44.0

Personal OS agent that learns your patterns daily

BetaOpen SourceMIT
Updated6 days ago
LanguagePython
Setup difficultyModerate
Stars
222
Ports
8765 (Local REST API), 8080 (Live Web Dashboard)
Requires
Python
Docker
ghcr.io/lethe044/hermes-life-os
Install with Docker
Health dashboard showing mood, sleep, stress, energy, hydration trends and correlations over 28 days

What is Hermes Life OS?

Hermes Life OS is a self-hosted personal operating system that tracks multiple life dimensions including mood, sleep, nutrition, hydration, fitness, mental health, focus, habits, goals, spending, social interactions, substances, reading, and medication. It uses a local LLM (via Ollama) or cloud providers (Anthropic, OpenAI, OpenRouter) to detect patterns and correlations across all tracked data, delivering personalized morning, midday, evening, and weekly briefings. Data is stored locally in JSON files with optional encryption at rest. It offers a CLI, interactive chat mode, static and live web dashboards, a local REST API, and chat bots for Telegram, Discord, Slack, and WhatsApp. Multi-profile and multi-user support allows household sharing. A plugin system enables custom tools. The project is MIT licensed and runs on Python 3.10+.

Should you self-host Hermes Life OS?

Hermes Life OS scores 47/100 on selfhost.directory (how scoring works) and ranks #22 of 38 in Personal Productivity. It has 222 GitHub stars.

It shipped 10 stable releases in the past year. The latest, v1.44.0, came out on 22 October 2026. New versions land roughly every 1 days.

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

Its closest alternative on selfhost.directory is LanguageTool (75/100, 15 205 stars). It scores higher overall, so compare the two before you pick. See Hermes Life OS vs LanguageTool side by side.

Features

  • Automated daily briefings
  • Calendar import
  • Data export & backup
  • Encryption at RestOff by default, enabled via LIFE_OS_ENCRYPTION_KEY
  • Interactive chat mode
  • Local REST APIRequires LIFE_OS_API_KEY, binds to localhost
  • Multi-dimensional life tracking
  • Multi-Profile Support
  • Multi-user accounts with API keys
  • Oura Ring import
  • Pattern detection & correlation analysis
  • Plugin System
  • Voice Mode
  • Weather correlationOnly feature making network calls
  • Web DashboardRead-only, localhost-only by default

Hermes Life OS README

How to install Hermes Life OS

Install Hermes Life OS with Docker

Docker
Environment variables
ANTHROPIC_API_KEY, OPENAI_API_KEY, OPENROUTER_API_KEY, LIFE_OS_PROVIDER, LIFE_OS_PROFILE, LIFE_OS_ENCRYPTION_KEY, etc.

docker run --rm -it -e ANTHROPIC_API_KEY=sk-ant-... -v hermes-life-os-data:/root/.hermes ghcr.io/lethe044/hermes-life-os:latest --mode morning

Pre-built image from GHCR

How to configure Hermes Life OS

  • ANTHROPIC_API_KEYAnthropic API key for Claude models

    Anthropic API key for Claude models

    values: sk-ant-...

  • DISCORD_BOT_TOKENDiscord bot token from Developer Portal

    Discord bot token from Developer Portal

    values: bot token

  • DISCORD_USER_IDDiscord user ID for authorized user

    Discord user ID for authorized user

    values: numeric user id

  • EMBEDDING_PROVIDERauto-detectedEmbedding provider for semantic search

    Embedding provider for semantic search

    values: ollama|openai

  • HERMES_NOTIFY_CHANNELconsoleNotification channel for scheduled briefings

    Notification channel for scheduled briefings

    values: console|webhook|telegram|email

  • HERMES_SMTP_HOSTSMTP host for weekly email

    SMTP host for weekly email

    values: smtp.gmail.com

  • HERMES_SMTP_PASSWORDSMTP password (app password) for weekly email

    SMTP password (app password) for weekly email

    values: app password

  • HERMES_SMTP_PORT587SMTP port for weekly email

    SMTP port for weekly email

    values: 587

  • HERMES_SMTP_TOdefaults to HERMES_SMTP_USERRecipient email for weekly email

    Recipient email for weekly email

    values: email address

  • HERMES_SMTP_USERSMTP username for weekly email

    SMTP username for weekly email

    values: email address

  • LIFE_OS_API_KEYAPI key for local REST API authentication

    API key for local REST API authentication

    values: any string

  • LIFE_OS_DAY_START_HOUR4Hour when a new day starts (default 4)

    Hour when a new day starts (default 4)

    values: 0-23

  • LIFE_OS_ENCRYPTION_KEYPassphrase for encryption at rest (PBKDF2-HMAC-SHA256 + Fernet/AES)

    Passphrase for encryption at rest (PBKDF2-HMAC-SHA256 + Fernet/AES)

    values: any string

  • LIFE_OS_PROFILEProfile name for multi-profile support

    Profile name for multi-profile support

    values: any string

  • LIFE_OS_PROVIDERauto-detectedForce specific LLM backend (anthropic, openai, openrouter, ollama)

    Force specific LLM backend (anthropic, openai, openrouter, ollama)

    values: anthropic|openai|openrouter|ollama

  • OPENAI_API_KEYOpenAI API key for GPT models

    OpenAI API key for GPT models

    values: sk-...

  • OPENROUTER_API_KEYOpenRouter API key for various models

    OpenRouter API key for various models

    values: sk-or-...

  • OURA_PERSONAL_ACCESS_TOKENOura Ring personal access token

    Oura Ring personal access token

    values: personal access token

  • SLACK_APP_TOKENSlack app token (xapp-...)

    Slack app token (xapp-...)

    values: xapp-...

  • SLACK_BOT_TOKENSlack bot token (xoxb-...)

    Slack bot token (xoxb-...)

    values: xoxb-...

  • TELEGRAM_BOT_TOKENTelegram bot token from @BotFather

    Telegram bot token from @BotFather

    values: bot token

  • TELEGRAM_CHAT_IDTelegram chat ID for authorized user

    Telegram chat ID for authorized user

    values: numeric chat id

  • TWILIO_ACCOUNT_SIDTwilio account SID for WhatsApp bot

    Twilio account SID for WhatsApp bot

    values: account SID

  • TWILIO_AUTH_TOKENTwilio auth token for WhatsApp bot

    Twilio auth token for WhatsApp bot

    values: auth token

  • WHATSAPP_ALLOWED_NUMBERWhatsApp number in E.164 format

    WhatsApp number in E.164 format

    values: whatsapp:+1XXXXXXXXXX

  • WHISPER_MODELbaseWhisper model size for voice transcription

    Whisper model size for voice transcription

    values: tiny|base|small|medium

Hermes Life OS releases & version history

More in Health & Fitness

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…