github kossakovsky/selfhost-ai v1.8.0

one day ago

Added

  • Ollama / InvokeAI — Optional GPU pinning for multi-GPU hosts. Set OLLAMA_GPU_DEVICES / INVOKEAI_GPU_DEVICES in .env (e.g. OLLAMA_GPU_DEVICES=1,2) to restrict a service to specific NVIDIA GPU IDs, so different workloads can own different GPUs. When the variable is empty (default), the existing count-based *_GPU_COUNT behavior is unchanged. NVIDIA profiles only; requires Docker Compose v2.24.4+ (#83).

Removed

  • Hermes Agent — Removed from the stack. An infrastructure-management agent should not run inside the environment it manages: it blurs the security boundary and creates a circular dependency. On the next make update, the hermes profile is dropped from COMPOSE_PROFILES and the container is removed automatically; the data directory ./hermes and your HERMES_* values in .env are left untouched so you can redeploy Hermes standalone with your own security model (#88).

Fixed

  • Installermake update no longer silently deletes .env variables that are missing from .env.example. Custom user variables, uncommented opt-ins (e.g. SCARF_ANALYTICS=false), and the telemetry INSTALLATION_ID now survive updates under a # --- Preserved user variables (not in template) --- section (#90).
  • Crawl4AI — Fix the service being unreachable from other containers (n8n got ECONNREFUSED). Crawl4AI 0.9+ binds to 127.0.0.1 unless an API token is set; a CRAWL4AI_API_TOKEN is now auto-generated, so it listens on the Docker network again. Clients must send Authorization: Bearer <token> (token shown on the Welcome Page). make doctor and make restart now warn when the token is missing (#84).
  • Healthchecks — Fix six services being reported unhealthy while running fine: LightRAG, ComfyUI, Appsmith, Gotenberg and Databasus used wget, which does not exist in their images; each now probes with a tool the image actually ships. PaddleOCR probed / (404) and now probes /health (#85).
  • RagFlow — Fix startup crash-loop (nginx: [emerg] open() "/etc/nginx/conf.d/ragflow.conf" failed). The ragflow_data:/ragflow volume masked the application directory with files from an older image; the volume and the obsolete custom nginx config are removed. The old localai_ragflow_data volume is left on disk (reclaim with docker volume rm localai_ragflow_data after a successful start) (#86).
  • python-runner — Fix the default container restart-looping forever. The default script now stays alive with an idle loop, and the service uses init: true + exec so stops are immediate. Custom main.py files are preserved across updates as before (#87).

Upgrade

make update

Hermes users: the service is removed from the stack automatically; your ./hermes data stays on disk for standalone redeployment. Crawl4AI users: after updating, take the new API token from the Welcome Page and add the Authorization: Bearer <token> header to your requests.

Full Changelog: v1.7.2...v1.8.0

Don't miss a new selfhost-ai release

NewReleases is sending notifications on new releases.