MCPSERV.CLUB
eLabFTW

eLabFTW

Self-Hosted

Secure, collaborative electronic lab notebook and inventory system

Active(100)
1.2kstars
0views
Updated 1 day ago
eLabFTW screenshot 1
1 / 2

Overview

Discover what makes eLabFTW powerful

**eLabFTW** is a self‑hosted electronic lab notebook (ELN) and laboratory inventory system written in PHP with a modern JavaScript front‑end. It is designed for research teams and companies that require secure, auditable record keeping while still offering a rich set of features such as blockchain timestamping, molecule editing and LaTeX rendering. From a developer standpoint the project is a full‑stack application that exposes a REST API, supports multi‑tenant usage, and can be deployed in containers or on bare metal.

Back‑end

Front‑end

Database

Search

Overview

eLabFTW is a self‑hosted electronic lab notebook (ELN) and laboratory inventory system written in PHP with a modern JavaScript front‑end. It is designed for research teams and companies that require secure, auditable record keeping while still offering a rich set of features such as blockchain timestamping, molecule editing and LaTeX rendering. From a developer standpoint the project is a full‑stack application that exposes a REST API, supports multi‑tenant usage, and can be deployed in containers or on bare metal.

Technical Stack & Architecture

  • Back‑end: PHP 8.x running on a web server (Apache or Nginx). The core is built with the Symfony framework, which provides routing, security, and dependency injection out of the box.
  • Front‑end: Vue.js 3, bundled with Vite, powers the dynamic UI. The SPA communicates with the back‑end via a JSON REST API and uses WebSockets for real‑time notifications.
  • Database: PostgreSQL is the primary data store, with optional support for MySQL/MariaDB via Doctrine. All schema migrations are handled by Symfony’s migration component, enabling reproducible deployments.
  • Search: Full‑text search is implemented with PostgreSQL’s native tsvector and a lightweight Elasticsearch integration can be added for advanced use cases.
  • Storage: File uploads are stored on the local filesystem or an S3‑compatible object store, with optional encryption at rest.

The application follows a classic MVC pattern but is heavily modularized: each feature (lab notebook, inventory, scheduler) lives in its own Symfony bundle, making it straightforward to add or replace functionality.

Core Capabilities & APIs

  • RESTful API: Every CRUD operation on experiments, items, and users is exposed via a versioned /api/v1/ endpoint. The API supports pagination, filtering, and full‑text search.
  • Webhooks: External services can subscribe to events such as “experiment created” or “item updated.” Webhook payloads are signed with HMAC for authenticity.
  • Plugin System: Developers can extend eLabFTW by creating Symfony bundles that hook into events, add new routes, or register custom Twig extensions. The plugin manager is exposed through the UI and the API.
  • Authentication & Authorization: Uses Symfony Security with JWT support for API clients, and fine‑grained ACLs based on teams, groups, and roles. The permission system is policy‑driven, allowing custom rules to be added via PHP code.

Deployment & Infrastructure

  • Docker‑first: A docker-compose.yml is provided for quick local setup, while a single Docker image (elabftw/elabftw) can be run in any container orchestrator (Kubernetes, Docker Swarm).
  • Scalability: The stateless API layer can be horizontally scaled behind a load balancer. Persistent storage (PostgreSQL, object store) is the only stateful component.
  • Resource Footprint: Minimum requirements are 512 MB RAM and 300 MB disk; a production instance with 1–2 GB RAM is recommended for moderate traffic.
  • Backup & Recovery: Built‑in database dumps and file backups can be scheduled via cron or integrated with CI/CD pipelines.

Integration & Extensibility

  • External Authentication: LDAP, SAML, and OAuth2 providers are supported via Symfony bundles.
  • Data Export: Supports JSON, CSV, and PDF exports; the API can return filtered datasets for integration with analytics tools.
  • Custom Fields: Administrators can define arbitrary metadata fields for experiments or inventory items, which are then exposed through the API.
  • CI/CD Hooks: The repository contains GitHub Actions that run unit tests, static analysis, and publish Docker images automatically.

Developer Experience

The project follows the CII Best Practices badge and maintains a comprehensive online documentation portal (doc.elabftw.net). The codebase is heavily commented, and unit tests cover >80 % of the logic. Community support is active on Gitter and GitHub Discussions, with a dedicated issue triage workflow that ensures rapid response to bugs or feature requests. Licensing under AGPL guarantees that any derivative work remains open, encouraging collaborative improvements.

Use Cases

  1. Academic Research Groups – Host a single instance for multiple labs, each with isolated data and permission sets.
  2. Biotech Companies – Use the inventory module to track reagents and equipment, integrating with ERP systems via webhooks.
  3. Regulated Environments – Leverage the audit trail and blockchain timestamping for compliance with GLP/GMP standards.
  4. Open‑Source Projects – Deploy a public ELN for citizen science initiatives, exposing the API to external apps.

Advantages Over Alternatives

  • Full Self‑Hosting: No reliance on third‑party services; data never leaves the institution’s firewall.
  • Modular Architecture: Developers can drop in new bundles or swap out the database without touching core code.
  • Rich API: Native REST endpoints and webhooks enable seamless integration with lab automation, LIMS, or custom dashboards.
  • Performance & Security: Built on Symfony’s battle‑tested stack, with strict input validation and role‑based access control.
  • Community & Documentation: Active development, continuous integration, and extensive

Open SourceReady to get started?

Join the community and start self-hosting eLabFTW today

Weekly Views

Loading...
Support Us

Featured Project

$30/month

Get maximum visibility with featured placement and special badges

Repository Health

Loading health data...

Information

Category
other
License
AGPL-3.0
Stars
1.2k
Technical Specs
Pricing
Open Source
Docker
Official
Min RAM
512MB
Min Storage
300MB
Supported OS
LinuxDocker
Author
elabftw
elabftw
Last Updated
1 day ago