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 -dOn 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.
| Surface | Address |
|---|---|
| Web UI | http://localhost:3000 |
| REST API | http://localhost:3010 |
| MCP server | http://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/healthThis 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:8188The 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 -dThe container applies production migrations during startup. Back up PostgreSQL and generated media before updating.
Source development
Requirements
- Node.js
>=24 <25 - Bun
1.3.14 - 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.localBefore 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:6379Then 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 redisRun the API/notifications and web app in separate terminals:
bun run dev:app:bebun run dev:app:feUse 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:migrateSee the canonical contribution guide for focused checks 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 genfeedFor source development, confirm local dependencies separately:
pg_isready -h localhost -p 5432
redis-cli pingUse the bug report form for reproducible defects. The public tracker does not provide a support SLA.