Overview

Understand the runtime modes, required services, and deployment shape.

by @saifyxpro

HeadlessX can run in three practical ways:

ModeBest forNotes
Mixed localday-to-day developmentrun apps locally, keep infrastructure in Docker or Supabase
Full Dockerrepeatable self-hosted deploysgood for operational consistency and now includes yt-engine
Fully localadvanced operatorsrequires local PostgreSQL and Redis installs

Core services


ServiceRequiredWhy it exists
PostgreSQLyesstate for API keys, settings, logs, proxies, and persisted data
Redisrequired for queuescrawl and BullMQ-backed jobs
APIyes/api/* and /mcp
Workerrequired for queue jobsprocesses crawl and background work
Weboptional for API-only usageoperator dashboard and playground
HTML-to-Markdownrecommendedbetter content extraction pipeline
yt-enginerequired for YouTube featuresmetadata extraction and temporary save jobs

  1. mixed local for development
  2. full Docker for reproducible runtime
  3. fully local only if you already manage PostgreSQL and Redis on the host OS

Important operational notes


  • Website Crawl requires both Redis and the worker
  • only /api/operators/website/crawl needs Redis in the website operator family
  • YouTube routes require YT_ENGINE_URL
  • MCP uses normal API keys, not the dashboard internal key
  • pnpm dev starts the app-side services, but it does not install PostgreSQL or Redis for you

Related Docs

Next Steps