Overview
Discover what makes Livebook powerful
Livebook is a self‑hosted, web‑based notebook platform that blends Elixir code execution with rich Markdown editing. From a technical standpoint, it exposes an HTTP API that serves a single‑page application written in Phoenix LiveView. The notebook engine runs Elixir code on demand, leveraging the BEAM runtime for concurrency and fault tolerance. Livebook’s core philosophy is reproducibility: every cell has a deterministic execution order, and the runtime can be swapped between a fresh Elixir instance, an existing node, or an embedded Mix project, giving developers fine‑grained control over dependencies and context.
Backend
Runtime
Frontend
Persistence
Overview
Livebook is a self‑hosted, web‑based notebook platform that blends Elixir code execution with rich Markdown editing. From a technical standpoint, it exposes an HTTP API that serves a single‑page application written in Phoenix LiveView. The notebook engine runs Elixir code on demand, leveraging the BEAM runtime for concurrency and fault tolerance. Livebook’s core philosophy is reproducibility: every cell has a deterministic execution order, and the runtime can be swapped between a fresh Elixir instance, an existing node, or an embedded Mix project, giving developers fine‑grained control over dependencies and context.
Architecture
- Backend: Phoenix 1.7 + LiveView, written in Elixir. The server hosts a WebSocket connection that streams cell output and keeps the notebook state synchronized across clients.
- Runtime: Uses Elixir’s
iexunder the hood, but wrapped in a sandbox that isolates each notebook. Smart cells are implemented as Plug‑style handlers that perform high‑level tasks (e.g., database queries, ML inference) without exposing raw SQL or shell commands. - Frontend: CodeMirror 6 powers the editor, providing syntax highlighting, autocompletion, and inline documentation via Elixir’s language server. Interactive outputs are rendered through Kino, which supports Vega‑Lite charts, tables, maps, and custom visualizations.
- Persistence: Notebooks are stored as
.livemdfiles—Markdown with embedded Mermaid and KaTeX blocks. This format is plain text, version‑control friendly, and can be exported to PDF or HTML via standard Markdown renderers. - Database: No external database is required for the core application; all state lives in memory or the file system. However, Livebook can connect to any data source (PostgreSQL, MongoDB, etc.) through Smart cells or user‑defined adapters.
Core Capabilities
- Code Execution: Evaluate Elixir expressions, compile modules on the fly, and capture output streams in real time.
- Smart Cells: Declarative syntax for tasks such as
#sql,#plot, or custom macros, reducing boilerplate. - Rich Output: Kino widgets expose interactive controls (sliders, dropdowns) that can drive re‑evaluation of cells.
- Collaboration: Multi‑user editing with operational transformation; changes propagate instantly via Phoenix Channels.
- Extensibility: Developers can write custom Kino widgets, Smart cell handlers, or even integrate third‑party libraries by packaging them as Mix dependencies and loading them into a runtime.
Deployment & Infrastructure
Livebook is container‑first. A pre‑built Docker image (ghcr.io/livebook-dev/livebook:latest) runs on any OCI‑compatible platform, making it trivial to deploy on Kubernetes, Docker Compose, or a bare metal VM. The application is stateless; notebooks can be mounted into the container’s /notebooks volume, enabling persistent storage across restarts. For high‑availability setups, multiple instances can be fronted by a load balancer, as the session state is stored in Phoenix’s :ets table and can be persisted to Redis if desired.
Integration & Extensibility
- APIs: Livebook exposes a RESTful API for programmatic notebook creation, cell evaluation, and result retrieval. Webhooks can be configured to trigger external services on cell changes.
- Plugins: The
livebook_plugininterface allows third‑party developers to add new Smart cell types or UI components without modifying the core codebase. - Custom Runtimes: By pointing Livebook to an existing Mix project, developers can introspect application modules, run tests, or generate documentation directly within a notebook.
Developer Experience
The configuration surface is minimal: environment variables control ports, authentication, and storage paths. The official documentation (hexdocs.pm/livebook) is comprehensive, with code examples that cover every major feature. The community is active on GitHub and Discord, providing quick support for integration questions. Because the codebase is pure Elixir, developers familiar with Phoenix and LiveView can contribute quickly.
Use Cases
- Data Science & Analytics: Build interactive dashboards that query databases, plot Vega‑Lite charts, and adjust parameters in real time.
- DevOps & SRE: Automate routine tasks (log queries, health checks) with Smart cells and share results across teams.
- Education & Training: Create reproducible learning materials where students can run Elixir code directly in the browser.
- Internal Tooling: Rapidly prototype internal dashboards or documentation tools that can be deployed as a self‑hosted service.
Advantages
Livebook’s tight integration with Elixir gives it a performance edge for concurrent workloads. Its pure Markdown notebook format ensures easy version control and collaboration without the need for proprietary formats. Open‑source licensing (Apache 2.0) removes cost barriers, and the ability to run anywhere—from a laptop to a cloud cluster—makes it highly flexible for both hobbyists and enterprise teams.
Open SourceReady to get started?
Join the community and start self-hosting Livebook today
Related Apps in other
Immich
Self‑hosted photo and video manager
Syncthing
Peer‑to‑peer file sync, no central server
Strapi
Open-source headless CMS for modern developers
reveal.js
Create stunning web‑based presentations with HTML, CSS and JavaScript
Stirling-PDF
Local web PDF editor with split, merge, convert and more
MinIO
Fast, S3-compatible object storage for AI and analytics
Weekly Views
Repository Health
Information
Explore More Apps
Roadiz
Polymorphic CMS for custom content architectures
Fasten
Securely aggregate your health data into a personal record
Flexisip
Modular SIP server for VoIP, messaging and embedded devices

FreePBX
Open source PBX platform powering flexible, feature-rich VoIP solutions
WackoWiki
Lightweight multilingual wiki engine with WYSIWYG editing
Traggo
Tag‑based time tracking for flexible work logging
