Files
the-bible/README.md

2.2 KiB

ESV Bible Markdown

A Docker-based web service for serving the ESV Bible in Markdown format with chapter-by-chapter organization.

Project Structure

esv-bible/
├── backend/           # Backend API server
│   ├── src/
│   │   └── index.js   # Express server
│   ├── package.json
│   └── Dockerfile
├── frontend/          # React frontend application
│   ├── src/
│   ├── public/
│   ├── package.json
│   └── ...
├── bible-data/        # ESV Bible markdown files (auto-downloaded)
├── docker-compose.yml
└── README.md

Features

  • Complete ESV Bible text in Markdown format from lguenth/mdbible
  • Organized by book and chapter for easy navigation
  • Docker containerized for easy deployment
  • Modern React frontend with responsive design
  • RESTful API for accessing Bible content
  • Persistent volume storage for Bible data
  • Optimized for remote hosting

Setup

  1. Clone this repository
  2. The ESV Bible data will be automatically downloaded during Docker build from the GitHub repository
  3. Run docker-compose up --build

Usage

The service will be available at http://localhost:3000

API Endpoints

  • GET /health - Health check endpoint
  • GET /books - List all available books
  • GET /books/:book - Get complete book (all chapters combined)
  • GET /books/:book/:chapter - Get specific chapter

Example Usage

# List all books
curl http://localhost:3000/books

# Get the book of Genesis
curl http://localhost:3000/books/Genesis

# Get Genesis chapter 1
curl http://localhost:3000/books/Genesis/1

Development

Backend Development

cd backend
npm install
npm run dev

Frontend Development

cd frontend
npm install
npm start

Docker Deployment

Build and run with Docker Compose:

docker-compose up --build

The Bible data is stored in a persistent Docker volume named bible_data for efficient storage and updates.

Data Source

Bible content is sourced from lguenth/mdbible, which provides the ESV Bible organized by book and chapter in Markdown format.

License

MIT