MCPSERV.CLUB
RERO ILS

RERO ILS

Self-Hosted

Modern open‑source library management for heritage, public and school libraries

Active(93)
81stars
0views
Updated 3 days ago

Overview

Discover what makes RERO ILS powerful

RERO ILS is a full‑stack, open‑source Integrated Library System (ILS) designed for heritage, public and school libraries. Built on a modern Python ecosystem, it replaces legacy MARC‑centric workflows with RDA‑compliant cataloguing and a multilingual authority file that integrates VIAF. The platform exposes a rich REST API, GraphQL endpoints, and webhooks for real‑time integration with external services, making it a compelling choice for developers who need to embed library functionality into custom portals or workflows.

Backend

Asynchronous Workflows

Search & Discovery

Frontend

Overview

RERO ILS is a full‑stack, open‑source Integrated Library System (ILS) designed for heritage, public and school libraries. Built on a modern Python ecosystem, it replaces legacy MARC‑centric workflows with RDA‑compliant cataloguing and a multilingual authority file that integrates VIAF. The platform exposes a rich REST API, GraphQL endpoints, and webhooks for real‑time integration with external services, making it a compelling choice for developers who need to embed library functionality into custom portals or workflows.

Technical Stack & Architecture

  • Backend: Django 4.x as the core web framework, leveraging its ORM for PostgreSQL data persistence and Django‑REST‑Framework for API serialization.
  • Asynchronous Workflows: Celery with Redis broker handles background tasks such as bibliographic data enrichment, barcode generation, and notification dispatch.
  • Search & Discovery: ElasticSearch powers faceted search, full‑text indexing of holdings and bibliographic records, with an optional Solr fallback.
  • Frontend: React 18, bundled by Vite, consumes the API via a thin client library (rero-client). The UI is modular, with components that can be overridden or extended via a plugin system.
  • Containerization: All services are docker‑compose ready; the repository ships with Dockerfiles for each microservice, enabling Kubernetes or OpenShift deployments.

The architecture follows a clear separation of concerns: the Django API layer, the search backend, and the React SPA interact over HTTP/HTTPS. This decoupling allows developers to swap out individual components (e.g., replace ElasticSearch with MeiliSearch) without touching the core codebase.

Core Capabilities & Developer APIs

  • REST & GraphQL: CRUD endpoints for bibliographic, holdings, patron, circulation, and acquisition entities. GraphQL provides flexible querying with automatic pagination support.
  • Webhooks & Events: Subscriptions to events such as patron.created, item.checked_out, and holdings.updated.
  • OAuth2 & OpenID Connect: Built‑in authentication server supports SSO with external identity providers.
  • Batch Import/Export: CSV, MARC21, and JSONL import pipelines with validation hooks.
  • Custom Fields & Schemas: Administrators can define additional metadata fields; the API exposes these as part of the resource payload.

Developers can also create plugins—Python packages that register new API endpoints, UI components, or scheduled jobs via Django’s app registry. The plugin system is documented in the developer-resources repository, with examples for extending circulation rules or adding a custom reporting dashboard.

Deployment & Infrastructure

RERO ILS is designed for self‑hosting on-premises or in private clouds. Minimum requirements include:

  • Hardware: 4 CPU cores, 16 GB RAM, SSD storage (PostgreSQL + ElasticSearch).
  • Operating System: Debian/Ubuntu LTS or RHEL/CentOS 8+.
  • Scalability: Horizontal scaling of the API tier via a load balancer; ElasticSearch nodes can be added to increase index capacity.
  • Backup & Recovery: PostgreSQL dumps, ElasticSearch snapshots, and Docker volume backups are supported out of the box.

The project’s CI pipeline (GitHub Actions) runs unit tests, linting, and security scans on every push, ensuring that releases are production‑ready. Docker Compose files for development (docker-compose.dev.yml) and production (docker-compose.prod.yml) are maintained, simplifying the rollout of new versions.

Integration & Extensibility

  • API-first: All core functionality is exposed via REST/GraphQL, enabling integration with external systems such as discovery layers (e.g., VuFind), resource‑management tools, or custom web portals.
  • Webhooks: External services can subscribe to real‑time events, making it easy to trigger workflows in third‑party systems (e.g., sending a patron notification through an external messaging API).
  • Plugin Architecture: Developers can ship Django apps that register new models, admin views, or UI components. The plugin discovery mechanism scans a plugins/ directory at startup.
  • Internationalization: The UI and API support multiple languages; developers can add new translations via Weblate, which is integrated into the CI pipeline.

Developer Experience

  • Documentation: A dedicated developer-resources repo contains API reference, plugin guidelines, and deployment manuals. Interactive Swagger UI is available at /api/schema/swagger-ui/.
  • Community & Support: Active Gitter channel, issue tracker, and regular release notes keep the community engaged. The project follows AGPL‑v3 licensing, ensuring that improvements remain open source.
  • Configuration: Most settings are environment‑driven (.env files), with sensible defaults for local development and overrides for production.
  • Testing: The test suite uses pytest‑django, covering 80%+ of the codebase; developers can run tests locally with pytest.

Use Cases

ScenarioWhy RERO ILS Works
Library Network MigrationBuilt‑in migration scripts for MARC to RDA, seamless data import, and a robust authority file.
Custom Discovery LayerREST/GraphQL APIs plus ElasticSearch integration allow developers to build lightweight discovery portals.
Automated Acquisition WorkflowsCelery tasks and webhooks enable integration with vendor APIs for order placement and receipt processing.

Open SourceReady to get started?

Join the community and start self-hosting RERO ILS today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
81
Technical Specs
Pricing
Open Source
Database
PostgreSQL
Docker
Community
Supported OS
LinuxDocker
Author
rero
rero
Last Updated
3 days ago