Real-time, collaborative knowledge-graph engine powering the next wave of open science and collective intelligence.
Fylo Core is the open-source heart of Fylogenesis—our mission to give researchers a platform that connects ideas across disciplines, augments human insight with AI, and keeps collaboration genuinely live.
We’re releasing the core so anyone can self-host, extend, and help shape a future where knowledge grows as a shared graph instead of siloed PDFs.
- Live collaboration – multi-cursor editing, conflict-free merges, and chat built on Socket.IO
- AI-assisted ingestion – documents chunked, embedded, and summarised via Anthropic/OpenAI pipelines
- Schema-aware graphs – Scientific-discourse schema out of the box; bring your own JSON-Schema to extend
- Batteries included – Next.js UI, TypeScript API, PostgreSQL + pgvector, Docker & Helm charts
- Open-core – permissive Apache-2.0 license; enterprise add-ons (SSO, RBAC, analytics) stay separate
git clone https://github.com/fylo-io/FyloCore.git
cd FyloCore
Copy environment templates
# Copy environment templates
cp core-server/.env.example core-server/.env
cp core-ui/.env.example core-ui/.env
Edit core-server/.env
with your configuration:
# Required: Database connection
POSTGRES_HOST=localhost
POSTGRES_PORT=5432
POSTGRES_DB=fylocore
POSTGRES_USER=postgres
POSTGRES_PASSWORD=your_postgres_password
# Required: Anthropic API key for AI functionality
ANTHROPIC_API_KEY=your_anthropic_api_key
# Optional: JWT secret for authentication (auto-generated if not provided)
JWT_SECRET=your_jwt_secret
# Optional: Email service
RESEND_API_KEY=your_resend_api_key_for_emails
# Optional: OpenAI API (if using OpenAI features)
OPENAI_API_KEY=your_openai_api_key
# Application URLs
APP_URL=http://localhost:3000
Edit core-ui/.env
with your configuration:
# Required: API connection to backend
NEXT_PUBLIC_API_URL=http://localhost:8000
# NextAuth configuration
NEXTAUTH_URL=http://localhost:3000
NEXTAUTH_SECRET=your_nextauth_secret_here
# Optional: Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
# Optional: Zotero integration
ZOTERO_CLIENT_KEY=your_zotero_client_key
ZOTERO_CLIENT_SECRET=your_zotero_client_secret
ZOTERO_CALLBACK_URL=http://localhost:3000/api/zotero/callback
Note: You need a valid Anthropic API key and PostgreSQL database for the application to work properly.
- Anthropic: Get your API key from console.anthropic.com
- PostgreSQL: Use the provided Docker setup or your own PostgreSQL instance
Quick Start (Recommended)
cd deploy
./start-docker.sh
Manual Docker Compose
cd deploy
docker-compose up --build
- Frontend: http://localhost:3000
- Backend API: http://localhost:8000
- API Documentation: http://localhost:8000/api-docs
- PostgreSQL: localhost:5433 (external port)
cd deploy
./stop-docker.sh
# OR
docker-compose down
- PostgreSQL Database: Persistent data storage on port 5433
- Core Server (Backend): Node.js/TypeScript API on port 8000
- Core UI (Frontend): Next.js application on port 3000
- Docker and Docker Compose installed
- API key for Anthropic Claude
- PostgreSQL database (included in Docker setup)
- Internet connection for downloading dependencies
- Environment variables are loaded from
core-server/.env
andcore-ui/.env
- Logs are saved to
core-server/logs/
- Database data is persisted in Docker volumes
- The PostgreSQL database is automatically initialized with required extensions
Common Issues:
- Port conflicts: Ensure ports 3000, 8000, and 5433 are available
- Docker not running: Start Docker Desktop or Docker daemon
- Build failures: Try
docker system prune
to clean up Docker cache - API connection errors: Verify your
.env
files have correct API keys
Need Help?
- Check the Detailed Docker Guide for more setup options
- Look at example environment variables in
.env.example
files