Overview
Discover what makes Omeka S powerful
Omeka S is a modular, PHP‑based web publishing platform designed for cultural heritage institutions that need to expose large collections of items and media while allowing multiple independent sites to share a common data pool. From a developer’s standpoint, it operates as a **multi‑tenant CMS**: the core application handles authentication, routing, and database schema management, while each tenant (or “site”) can be configured with its own theme, set of modules, and access controls. The architecture is intentionally lean so that institutions can host it on a single LAMP stack and scale horizontally by adding more web or database servers.
Multi‑site management
Semantic Web integration
Linked data export
Extensible module system
Overview
Omeka S is a modular, PHP‑based web publishing platform designed for cultural heritage institutions that need to expose large collections of items and media while allowing multiple independent sites to share a common data pool. From a developer’s standpoint, it operates as a multi‑tenant CMS: the core application handles authentication, routing, and database schema management, while each tenant (or “site”) can be configured with its own theme, set of modules, and access controls. The architecture is intentionally lean so that institutions can host it on a single LAMP stack and scale horizontally by adding more web or database servers.
Key Features
- Multi‑site management: A single installation can host dozens of independent sites, each with its own domain or sub‑path.
- Semantic Web integration: Items expose RDF/JSON‑LD endpoints, and the platform can consume external Linked Open Data (LOD) to enrich metadata.
- Linked data export: Built‑in DPLA‑ready templates allow instant syndication of collections to the Digital Public Library of America.
- Extensible module system: Modules are PHP classes that hook into the core via a robust event bus, enabling developers to add importers, mapping tools, or custom APIs without touching core code.
- Responsive theming: Themes are built with Bootstrap 5 and Twig, allowing developers to create per‑site custom layouts that adapt to any screen size.
Technical Stack
| Layer | Technology |
|---|---|
| Runtime | PHP 7.4+ (CLI + Apache) |
| Web server | Apache 2.4 with mod_rewrite (NGINX is supported via FastCGI) |
| Database | MySQL 5.7+ or MariaDB 10.2+ (uses PDO for abstraction) |
| Asset pipeline | Node.js + npm; Gulp orchestrates SCSS/JS compilation, minification, and cache busting |
| Thumbnail engine | ImageMagick ≥ 6.7.5 (fallback to GD if configured) |
| Templating | Twig 2.x |
| ORM / DB abstraction | Zend Framework‑style models; raw SQL migrations via Phinx |
The core code resides in application/, following a Model–View–Controller pattern. Modules live under modules/ and expose their own controllers, views, and database tables. Themes reside in themes/, each containing a theme.json descriptor that the core reads during site initialization.
Core Capabilities & APIs
- RESTful API: CRUD endpoints for items, media, collections, and sites. Authentication via OAuth2 or session cookies.
- Event system:
dispatch('event_name', $payload)allows modules to listen for actions such asitem.addedorsite.created. - CLI commands:
./vendor/bin/omeka-sexposes tasks likemigrate,backup, andmodule:install. - Widget system: Admin widgets can be added via modules to expose dashboards, statistics, or custom forms.
- Webhooks: Modules can register outbound webhooks for external integrations (e.g., CI/CD pipelines, data harvesting services).
Deployment & Infrastructure
Omeka S is designed for self‑hosting on a standard LAMP stack, but it also ships Docker Compose files that spin up Apache, PHP‑FPM, and MySQL containers. The docker-compose.yml includes volumes for /files/, /modules/, and /themes/, making persistent storage straightforward. For scalability, the application can be load‑balanced across multiple web servers; all stateful data (files, database rows) is shared via a common networked filesystem or object store. The thin PHP core ensures low memory footprints, and the modular architecture allows you to enable only the features you need, reducing attack surface.
Integration & Extensibility
- Modules: Written in PHP, a module can add new database tables, override routes, or register new admin pages. The module API is versioned; current releases support Zend Framework 2 conventions.
- Hooks & Filters: Similar to WordPress, modules can register callbacks that modify data before it is persisted or displayed.
- Third‑party APIs: The platform can consume external services (e.g., CKAN, WorldCat) via REST clients defined in modules.
- OpenID Connect: Supports external authentication providers, enabling single sign‑on across multiple sites.
Developer Experience
The documentation is organized into a user manual and developer guide, both hosted on the Omeka S website. The codebase follows PSR‑4 autoloading, and unit tests are written with PHPUnit. Community support is active on GitHub issues, a dedicated forum, and Slack channels. The module ecosystem is growing; popular modules include Omeka S Google Maps, Omeka S Data Importer, and Omeka S Linked Open Data. The project’s open‑source license (BSD‑3) allows commercial use without licensing fees.
Use Cases
- University Digital Collections: A university can host multiple departmental sites (history, art, archives) on a single Omeka S instance while sharing a unified media library.
- Museum Exhibits: Curators can create responsive exhibit sites that pull items from a central repository, expose linked data to the Semantic Web, and publish DPLA‑ready metadata.
- Research Data Portals:
Open SourceReady to get started?
Join the community and start self-hosting Omeka S 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
REDAXO
Modular CMS for flexible web content management
OpenCart
Free, open‑source eCommerce platform for online merchants
Open Source Routing Machine
Fast C++ engine for routing on OpenStreetMap data
Twake Workplace
Secure, collaborative cloud platform for modern teams
Thumbor
Smart, on-demand image resizing and cropping

SPIP
Open-source CMS for collaborative, multilingual sites
