Skip to Content
Genfeed Core (OSS)Installation

Installation

Use the Docker path to run Community. Use the source-development path only when you are contributing to the monorepo.

Community with Docker

Requirements

  • Docker Engine with the Docker Compose v2 plugin, or Docker Desktop
  • Disk capacity for the application image, PostgreSQL, and generated media
  • At least one model-provider key when you want generation

Local Node.js, Bun, PostgreSQL, Redis, and a Genfeed Cloud account are not required for this path.

Start Community

curl -fLO https://github.com/genfeedai/genfeed.ai/releases/latest/download/genfeed-selfhosted.tar.gz curl -fLO https://github.com/genfeedai/genfeed.ai/releases/latest/download/genfeed-selfhosted.tar.gz.sha256 sha256sum -c genfeed-selfhosted.tar.gz.sha256 tar -xzf genfeed-selfhosted.tar.gz cd genfeed-selfhosted-v* cp .env.example .env docker compose --env-file .env -f compose.yml up -d

On macOS, use shasum -a 256 -c genfeed-selfhosted.tar.gz.sha256 for the checksum step.

The release manifest and Compose file pin the exact Community image associated with the GitHub release. The stack starts PostgreSQL, applies Prisma migrations, and seeds one local user, organization, and brand. The default configuration has no login wall.

SurfaceAddress
Web UIhttp://localhost:3000
REST APIhttp://localhost:3010
MCP serverhttp://localhost:3014

PostgreSQL is available only inside the Compose network. Redis runs inside the Genfeed container. Neither is published on a host port by this stack.

Confirm that the API process responds:

curl http://localhost:3010/v1/health

This endpoint is a process-level response; it is not a complete database, queue, provider, or workflow readiness test.

Configure generation

Stop the stack, add the provider keys you intend to use to .env, and start it again. Keep keys server-side and never commit the file.

For a local ComfyUI endpoint used by supported API flows, configure:

DARKROOM_COMFYUI_URL=http://your-comfyui-host:8188

The Community quick start does not start the separate image/video/voice service workspaces or a GPU runtime for you.

Update Community

docker compose --env-file .env -f compose.yml pull docker compose --env-file .env -f compose.yml up -d

The container applies production migrations during startup. Back up PostgreSQL and generated media before updating.

Upgrade notes

  • 20260925120000_agent_unit_economics adds a nullable userId column to llm_vendor_costs, creates the billing_revenue_events table, and builds new indexes on credit_transactions, llm_vendor_costs, and media_vendor_costs. The indexes are not built concurrently, so writes to those tables (credit deductions and provider-cost records) wait while each index builds. This is brief on most installs; on a large database, update during a quiet period.

Source development

Requirements

  • Node.js >=24 <25
  • Latest stable Bun (see .bun-version)
  • Git
  • Docker Engine with Docker Compose v2 for local PostgreSQL 17 and Redis 7

This repository is Bun-only. npm, Yarn, and pnpm installs can produce an unsupported dependency tree.

Set up the workspace

git clone https://github.com/genfeedai/genfeed.ai.git cd genfeed.ai bun install cp .env.example .env.local

Before syncing the environment, edit .env.local and set at least the local database credentials used by docker/local/docker-compose.yml:

DATABASE_URL=postgresql://genfeed:genfeed_local@localhost:5432/genfeed REDIS_URL=redis://localhost:6379

Then generate workspace environment files and start the dependencies:

bun run env:sync local --prune-legacy docker compose -f docker/local/docker-compose.yml up -d postgres redis

Install the Portless HTTPS startup service once per machine (idempotent; may request administrator approval to bind port 443 and trust the local CA):

bun run dev:setup

Verify with bun run dev:doctor. Interactive development uses clean HTTPS routes such as https://app.genfeed.localhost — not fixed ports.

Run the minimum backend and the app in separate terminals:

bun run dev:backend:min # api + files + notifications
bun run dev:app # → https://app.genfeed.localhost/

Other common entry points:

CommandStarts
bun run devFull stack (app + backend + docs + website)
bun run dev:backendFull backend (+ mcp + workers)
bun run dev:docsDocs site
bun run dev:debug:*Fixed-port debug only (explicit)

Use the scripts in the root and workspace package.json files rather than inventing service commands. For example, source-development Prisma migrations run through:

bun run --cwd packages/prisma db:migrate

See the canonical contribution guide  for focused checks, Portless hosts, and pull-request requirements.

Troubleshooting

Inspect the running containers and logs:

docker compose --env-file .env -f compose.yml ps docker compose --env-file .env -f compose.yml logs genfeed

For source development, confirm local dependencies separately:

pg_isready -h localhost -p 5432 redis-cli ping

Use the bug report form  for reproducible defects. The public tracker does not provide a support SLA.

Next steps

Last updated on