Complete offline research platform for Ellen Gould Harmon's writings with PDF generation and Docker deployment
The fastest way to get started is with our pre-built Docker image:
# Pull and run the latest image
docker pull ghcr.io/gospelsounders/egh-research-server:latest
docker run -p 3000:3000 ghcr.io/gospelsounders/egh-research-server:latest
# Test the API
curl http://localhost:3000/health
curl http://localhost:3000/api/docsπ Live API Documentation | π Full Documentation
EGH Research is a comprehensive platform for offline research of Ellen Gould Harmon's writings, providing both Model Context Protocol (MCP) and HTTP REST API access with advanced PDF generation capabilities.
- π EGH Research Server: Dual-protocol server (MCP + HTTP API) with offline database
- π₯ Content Downloader: Bulk data extraction and database population tools
- π Web Interface: Modern React-based research platform
- π³ Docker Deployment: Production-ready containerization with GitHub Actions
- β‘ Offline Operation: Complete independence from external services
- π Advanced Search: FTS5 full-text search with sub-millisecond response times
- π PDF Generation: On-demand PDF creation with customizable formatting
- π Dual APIs: Both MCP and REST APIs for maximum compatibility
- π³ Docker Ready: Multi-architecture containers (AMD64, ARM64)
- π± Modern UI: Responsive web interface for research
βββ apps/
β βββ local-server/ # Main EGH Research Server (MCP + HTTP API)
β βββ downloader/ # Data extraction and database tools
β βββ api-server/ # Live API integration server
β βββ website/ # React-based research interface
βββ packages/
β βββ shared/ # Common utilities and database management
β βββ egw-pdf-generator/ # PDF generation engine
βββ .github/workflows/ # CI/CD with Docker builds
# Using Docker Run
docker pull ghcr.io/gospelsounders/egh-research-server:latest
docker run -p 3000:3000 ghcr.io/gospelsounders/egh-research-server:latest
# Using Docker Compose
curl -O https://raw.githubusercontent.com/GospelSounders/egh-research/master/apps/local-server/docker-compose.yml
docker-compose up -d# Install the research server
npm install -g @surgbc/egw-research-server
# Install supporting tools
npm install -g @surgbc/egw-writings-downloader
# Start the server
egw-research-server --http --port 3000# Clone and setup
git clone https://github.com/GospelSounders/egh-research.git
cd egh-research
pnpm install && pnpm build
# Start HTTP server
cd apps/local-server
npm run start:http
# Or start MCP server
npm run start:mcpNODE_ENV: Development/production modeLOG_LEVEL: Logging verbosity (debug, info, warn, error)PDF_CLEANUP_INTERVAL: PDF file cleanup frequency
{
"mcpServers": {
"egh-research": {
"command": "egw-research-server"
}
}
}# Download sample data
npx @surgbc/egw-writings-downloader quick-start --zip
# Or use the Make target (development)
make egw-quick-start# Health and status
GET /health
GET /api/docs
GET /stats
# Content access
GET /content/books?page=1&limit=50&lang=en
GET /content/books/{id}
GET /content/books/{id}/toc
GET /search?q=righteousness&limit=20
# PDF generation
POST /content/books/{id}/generate-pdf
GET /pdf/status/{token}
GET /pdf/download/{token}search_local- Full-text search with FTS5 highlightingget_local_book- Book information and metadataget_local_content- Chapter and paragraph contentlist_local_books- Paginated book listingsbrowse_by_reference- Navigation by EGW reference codesget_context- Contextual paragraph retrievalget_database_stats- Database metrics and statistics
π Complete API Documentation
# Pull latest production image
docker pull ghcr.io/gospelsounders/egh-research-server:latest
# Run with persistent storage and health checks
docker run -d \
--name egh-research \
-p 3000:3000 \
-v egh-data:/app/apps/local-server/data \
--restart unless-stopped \
--health-cmd="curl -f http://localhost:3000/health || exit 1" \
--health-interval=30s \
ghcr.io/gospelsounders/egh-research-server:latest# Build local image
./scripts/build-docker.sh --tag local
# Build with custom registry
./scripts/build-docker.sh --registry ghcr.io/yourname --tag v1.0.0The project includes comprehensive CI/CD workflows:
- π¨ Build & Test: Automated testing and building on push/PR
- π³ Docker Build: Multi-architecture container builds
- π Security Scan: Vulnerability scanning with Trivy
- π Documentation: Auto-deployment to GitHub Pages
- π Release: Automated releases with Docker publishing
- Sub-millisecond search response times
- FTS5 full-text search with ranking
- Highlighted search results with context
- Reference navigation (e.g., "AA 15.1", "DA 123")
- Customizable formatting: Page size, fonts, margins
- Table of contents: Automatic generation with configurable depth
- Background processing: Non-blocking PDF generation
- Progress tracking: Real-time generation status
- Automatic cleanup: Scheduled file cleanup
- SQLite with FTS5 full-text search
- Efficient storage with reference indexing
- Multi-language support (150+ languages)
- Offline operation - no internet required after setup
- Academic research on Ellen Gould Harmon's writings
- Topic compilation across multiple books
- Reference verification and cross-referencing
- Contextual analysis with surrounding paragraphs
- Classroom instruction with offline access
- Student research projects with PDF generation
- Study materials creation with custom formatting
- Reference lookup during presentations
- MCP clients (Claude, etc.) for AI-assisted research
- REST API integration for custom applications
- Docker deployment for institutional use
- Batch processing for large-scale analysis
We welcome contributions! Here's how to get started:
- Fork the repository
- Create a feature branch from
main - Make your changes with tests
- Run
pnpm lint && pnpm build && pnpm test - Submit a pull request
# Setup development environment
pnpm install
pnpm build
# Run tests and linting
pnpm test
pnpm lint
# Start development servers
pnpm dev # All packages in watch mode
pnpm --filter local-server dev # Just the research server
pnpm --filter website dev # Just the web interface
# Build for production
pnpm build
# Docker development
./scripts/build-docker.sh --tag dev
docker run -p 3000:3000 egh-research-server:devThis platform is designed specifically for educational and research purposes related to Ellen Gould Harmon's writings. The software:
- Respects intellectual property rights and fair use guidelines
- Provides tools for legitimate academic research
- Enables offline access for educational institutions
- Supports citation and reference verification
- Complete offline access - No dependency on external services
- Advanced search capabilities - Find specific passages quickly
- PDF generation - Create formatted documents for study
- Reference cross-linking - Navigate between related content
- Context preservation - Maintain surrounding content for accuracy
When using this software in academic work, please cite:
EGH Research Platform. (2024).
Offline research platform for Ellen Gould Harmon's writings.
GitHub: https://github.com/GospelSounders/egh-research
- No data collection: All processing happens locally
- Open source: Fully auditable codebase
- Security scanning: Automated vulnerability detection
- Container security: Non-root user and minimal attack surface
MIT License - Open source software for educational and research use.
See LICENSE for full terms.
- π Documentation: https://gospelsounders.github.io/egh-research/
- π Issues: GitHub Issues
- π¬ Discussions: GitHub Discussions
- π§ Email: Contact maintainers for security issues
Developed by GospelSounders β’ Built with β€οΈ for educational and research purposes