Self-Hosted Installation
Deploy Genfeed Core on your own infrastructure. This guide covers everything from prerequisites to running your first workflow.
Prerequisites
Before you begin, ensure you have:
| Requirement | Version | Notes |
|---|---|---|
| Node.js | 18.0+ | Download |
| Bun | 1.0+ | Install (recommended) or use npm |
| PostgreSQL | 17+ | Install |
| Redis | 7.0+ | Install |
| Git | Latest | Download |
API Keys (Optional but Recommended)
To use AI generation features, you need API keys from at least one provider:
| Provider | For | Get Key |
|---|---|---|
| OpenAI | Text generation | platform.openai.com |
| Replicate | Image/Video models | replicate.com |
| ElevenLabs | Voice synthesis | elevenlabs.io |
| Anthropic | Claude models | console.anthropic.com |
Quick Start
1. Clone the Repository
git clone https://github.com/genfeedai/genfeed.ai.git
cd genfeed.ai2. Install Dependencies
bun installOr with npm:
npm install3. Configure Environment
Create a .env.local file in the project root:
cp .env.example .env.local
bun run env:sync localEdit the root .env.local with your settings. See Configuration for the full reference.
# Database
DATABASE_URL=postgresql://genfeed:genfeed_local@localhost:5432/genfeed
REDIS_URL=redis://localhost:6379
# API Keys (add the ones you need)
OPENAI_API_KEY=sk-...
REPLICATE_KEY=r8_...
ELEVENLABS_API_KEY=...
ANTHROPIC_API_KEY=sk-ant-...
# Application
NODE_ENV=development
PORT=3010
JWT_SECRET=your-secure-random-string
# Optional: External storage
# AWS_ACCESS_KEY_ID=...
# AWS_SECRET_ACCESS_KEY=...
# S3_BUCKET=your-bucketNever commit API keys. Add .env.local to your .gitignore. Never commit API keys or secrets to version control.
4. Start Services
Make sure PostgreSQL and Redis are running:
# Start PostgreSQL (if not running)
docker compose -f docker/local/docker-compose.yml up -d postgres redis
# Or start only Redis if Postgres is already running elsewhere
redis-server5. Run Genfeed Core
bun devOr with npm:
npm run devYou should see:
[Nest] Starting...
[API] Listening on http://localhost:3010
[Queue] BullMQ connected to Redis
[DB] PostgreSQL connected6. Verify Installation
Open your browser and visit:
http://localhost:3010/healthYou should see a JSON response confirming the API, database, and Redis are connected and ready.
Running the Frontend (Optional)
Genfeed Core includes the API only. To run the full web interface from the workspace monorepo:
# In a separate terminal, from the monorepo root
cd apps/app
bun install
bun run devThe app UI will be available at http://localhost:3000.
Docker Deployment
For production deployments, we recommend Docker:
Using Docker Compose
# Clone with Docker config
git clone https://github.com/genfeedai/genfeed.ai.git
cd genfeed.ai
# Copy environment file
cp .env.example .env
# Start all services
docker-compose up -ddocker-compose.yml
version: '3.8'
services:
api:
build: .
ports:
- "3010:3010"
environment:
- DATABASE_URL=postgresql://genfeed:genfeed_local@postgres:5432/genfeed
- REDIS_URL=redis://redis:6379
depends_on:
- postgres
- redis
postgres:
image: postgres:17-alpine
environment:
- POSTGRES_DB=genfeed
- POSTGRES_USER=genfeed
- POSTGRES_PASSWORD=genfeed_local
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
redis:
image: redis:7-alpine
volumes:
- redis_data:/data
ports:
- "6379:6379"
volumes:
postgres_data:
redis_data:Resource Requirements
| Component | Minimum | Recommended |
|---|---|---|
| CPU | 2 cores | 4+ cores |
| RAM | 4 GB | 8+ GB |
| Storage | 20 GB | 100+ GB (for generated assets) |
Troubleshooting
PostgreSQL Connection Failed
# Check if PostgreSQL is running
pg_isready -h localhost -p 5432
# If not, start the local stack
docker compose -f docker/local/docker-compose.yml up -d postgresRedis Connection Failed
# Check if Redis is running
redis-cli ping
# Should return: PONGPort Already in Use
# Find what's using the port
lsof -i :3010
# Use a different port
PORT=3050 bun run dev:apiAPI Keys Not Working
- Verify keys are correctly copied (no extra spaces)
- Check provider dashboard for rate limits
- Ensure billing is active on the provider account
Upgrading
To upgrade to a new version:
# Pull latest changes
git pull origin main
# Install new dependencies
bun install
# Run migrations (if any)
bun run migrate
# Restart the server
bun devNext Steps
- Configuration — Full environment variable reference
- API Reference — Explore the REST API
- Self-Hosted vs Cloud — Compare editions
Need Help?
- GitHub Issues: github.com/genfeedai/genfeed.ai/issues
- Discord: discord.gg/TmfHg42xVb
For production support, consider Deployment Options or an Enterprise License.