PHPackages                             ghentcdh/omeka-s-cli - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. ghentcdh/omeka-s-cli

ActiveProject[CLI &amp; Console](/categories/cli)

ghentcdh/omeka-s-cli
====================

Omeka-S Command Line Tool

0.12.0(1mo ago)1003[4 issues](https://github.com/GhentCDH/Omeka-S-Cli/issues)MITPHPPHP ^8.1

Since Oct 11Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/GhentCDH/Omeka-S-Cli)[ Packagist](https://packagist.org/packages/ghentcdh/omeka-s-cli)[ Docs](https://github.com/GhentCDH/Omeka-S-Cli)[ RSS](/packages/ghentcdh-omeka-s-cli/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (40)Used By (0)

Omeka-S-Cli
===========

[](#omeka-s-cli)

Omeka-S-Cli is a command line tool to manage Omeka S instances.

[![img.png](img.png)](img.png)

Features
--------

[](#features)

- Core
    - Download specific Omeka S version
    - Update Omeka S to any/latest version
    - Install Omeka S (init database, create admin user)
    - Perform database migrations
    - Get core status/version
- Manage modules
    - Search and download modules from [official Omeka S module repository](https://omeka.org/s/modules/) and [Daniel Berthereau's module repository](https://daniel-km.github.io/UpgradeToOmekaS/en/omeka_s_modules.html)
    - Download modules from git repositories
    - Install, update, upgrade, enable, disable and delete modules
    - List all downloaded modules and their status
- Manage themes
    - Search and download themes from the [official Omeka S theme repository](https://omeka.org/s/themes/)
    - Download themes from git repositories
    - Delete downloaded themes
    - List all downloaded themes and their status
- Manage resource templates
    - Import and export resource templates from/to JSON files
    - List all resource templates
    - Delete resource templates
- Manage vocabularies
    - Import vocabularies from file or url
    - Import vocabularies from JSON config file
    - Create JSON import configuration files
    - List all vocabularies
    - Delete vocabularies
- Config
    - Export list of installed modules and themes
    - Get, set and list global settings
    - Create database.ini file
- User
    - List all users
    - Add, delete, enable or disable a user
    - Manage API keys for a user

### Automating Omeka S instance setup

[](#automating-omeka-s-instance-setup)

The Omeka-S-Cli tool can be used to automate the setup and configuration of new Omeka S instances. A typical workflow is:

- Download and install Omeka S
    - `core:download  [version]` to download Omeka S
    - `config:create-db-ini --dbname  --username  --password  --host  --port ` to create the database.ini file
    - `core:install --admin-name  --admin-email  --admin-password ` to run the Omeka S installer
- Add users
    - `user:add    [password]` to add users
    - `user:create-api-key  ` to add API keys for users
- Download and install modules and themes
    - `module:download ` to download a module
    - `module:install ` to install a module
    - `theme:download ` to download a theme
- Import vocabularies
    - `vocabulary:import --config ` to import vocabulary from a JSON config file
    - `vocabulary:import --url  --namespace-uri="" --prefix="" --label=""` to import vocabulary from a URL
- Import resource templates
    - `resource-template:import ` to import resource templates
- Set config options
    - `config:set  ` to set global settings

Usage
-----

[](#usage)

```
omeka-s-cli [ - h | --help ]
omeka-s-cli  --help
omeka-s-cli  [options]

```

### Example: List downloaded modules

[](#example-list-downloaded-modules)

```
omeka-s-cli module:list

```

```
+--------------------------+----------------------------+---------------+---------+------------------+---------------+-----------------+
| Id                       | Name                       | State         | Version | InstalledVersion | LatestVersion | UpdateAvailable |
+--------------------------+----------------------------+---------------+---------+------------------+---------------+-----------------+
| AdvancedResourceTemplate | Advanced Resource Template | active        | 3.4.43  | 3.4.43           | 3.4.45        | yes             |
| AdvancedSearch           | Advanced Search            | not_installed | 3.4.51  |                  | 3.4.51        |                 |
| Common                   | Common                     | active        | 3.4.72  | 3.4.72           | 3.4.72        |                 |
+--------------------------+----------------------------+---------------+---------+------------------+---------------+-----------------+

```

You can export almost any command output with the `--json` option.

### Example: Download a module from a repository

[](#example-download-a-module-from-a-repository)

The easiest way to download a module is to use its official name. The downloader will search the name in one of the supported module repositories and download the latest zip release.

```
# omeka-s-cli module:download common

```

If the module already exists, you can use the `--force` option to replace it with the newly downloaded version.

You can download a specific module version using the `:` syntax:

```
omeka-s-cli module:download common:3.4.67

```

The official Omeka S module repository does not always have all versions available. In that case, you can use a url to a zip-release or a git repository.

### Example: Download a module from a zip release

[](#example-download-a-module-from-a-zip-release)

```
omeka-s-cli module:download https://github.com/Daniel-KM/Omeka-S-module-Common/releases/download/3.4.65/Common-3.4.65.zip

```

### Example: Download a module from a git repository

[](#example-download-a-module-from-a-git-repository)

```
omeka-s-cli module:download https://github.com/GhentCDH/Omeka-S-module-AuthCAS.git

```

You can use the short `gh:user/repo` syntax for GitHub repositories:

```
omeka-s-cli module:download gh:GhentCDH/Omeka-S-module-AuthCAS

```

You can checkout a specific tag, branch or commit by appending `#`.

```
omeka-s-cli module:download https://github.com/Daniel-KM/Omeka-S-module-AdvancedSearch.git#3.4.22
omeka-s-cli module:download gh:Daniel-KM/Omeka-S-module-AdvancedSearch#3.4.22

```

The installer will run `composer install` in the module directory if a `composer.lock` file is present. Other dependencies must be installed manually.

### Example: Download a theme

[](#example-download-a-theme)

```
omeka-s-cli theme:download freedom

```

Or using the GitHub repository:

```
omeka-s-cli gh:omeka-s-themes/freedom#v1.0.6

```

### Example: Download and import a vocabulary

[](#example-download-and-import-a-vocabulary)

Download directly from a URL:

```
omeka-s-cli vocabulary:import --url "https://schema.org/version/latest/schemaorg-current-https.rdf" --namespace-uri="https://schema.org/" --prefix="schema" --label="schema.org"
```

Or using a JSON config file. First create a JSON file with content like below:

```
{
    "url": "https://schema.org/version/latest/schemaorg-current-https.rdf",
    "label": "schema.org",
    "namespaceUri": "https://schema.org/",
    "prefix": "schema"
}
```

Then import the vocabulary with:

```
omeka-s-cli vocabulary:import --config ./schema-dot-org.json
```

### Example: Import a resource template

[](#example-import-a-resource-template)

Import a resource template from a file with:

```
omeka-s-cli resource-template:import "/path/to/template.json"
```

You can also specify a different label:

```
omeka-s-cli resource-template:import "/path/to/template.json" --label="My Custom Template"
```

Update an existing template by ID:

```
omeka-s-cli resource-template:import "/path/to/template.json" 2
```

Update an existing template by label:

```
omeka-s-cli resource-template:import "/path/to/template.json" "My Custom Template"
```

Requirements
------------

[](#requirements)

- PHP (&gt;= 8.1) with PDO\_MySQL and Zip enabled
- Omeka S (&gt;= 4)

Installation
------------

[](#installation)

- Download [omeka-s-cli.phar](https://github.com/GhentCDH/Omeka-S-Cli/releases/latest/download/omeka-s-cli.phar) from the latest release.
- Run with `php omeka-s-cli.phar` or move it to a directory in your PATH and make it executable.

Build
-----

[](#build)

This project uses  to create a phar file.

### box global install

[](#box-global-install)

```
composer global require humbug/box
```

### compile phar

[](#compile-phar)

```
box compile
```

To do
-----

[](#to-do)

- Download/update multiple modules at once
- Module dependency checking
- Add support for resource templates
- Add support for sites and site pages

Credits
-------

[](#credits)

Built @ the [Ghent Center For Digital Humanities](https://www.ghentcdh.ugent.be/), Ghent University by:

- Frederic Lamsens

Inspired by:

- [Libnamic Omeka S Cli](https://github.com/Libnamic/omeka-s-cli/)
- [biblibre Omeka CLI](https://github.com/biblibre/omeka-cli)

###  Health Score

40

—

FairBetter than 88% of packages

Maintenance83

Actively maintained with recent releases

Popularity8

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 99.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~23 days

Recently: every ~6 days

Total

24

Last Release

37d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/ab59d34392e5fa0d4c76ff17660408c9bf068469ad172227f27f93bee4a246c3?d=identicon)[flamsens](/maintainers/flamsens)

---

Top Contributors

[![flamsens](https://avatars.githubusercontent.com/u/7644010?v=4)](https://github.com/flamsens "flamsens (327 commits)")[![google-labs-jules[bot]](https://avatars.githubusercontent.com/in/842251?v=4)](https://github.com/google-labs-jules[bot] "google-labs-jules[bot] (2 commits)")[![mcoonen](https://avatars.githubusercontent.com/u/5345572?v=4)](https://github.com/mcoonen "mcoonen (1 commits)")

---

Tags

cliomeka-stuicliomeka-someka-s-cli

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/ghentcdh-omeka-s-cli/health.svg)

```
[![Health](https://phpackages.com/badges/ghentcdh-omeka-s-cli/health.svg)](https://phpackages.com/packages/ghentcdh-omeka-s-cli)
```

###  Alternatives

[symfony/console

Eases the creation of beautiful and testable command line interfaces

9.8k1.1B11.2k](/packages/symfony-console)[nunomaduro/collision

Cli error handling for console/command-line PHP applications.

4.6k331.8M8.5k](/packages/nunomaduro-collision)[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k239.8M285](/packages/nunomaduro-termwind)[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M319](/packages/wp-cli-wp-cli)[wp-cli/php-cli-tools

Console utilities for PHP

68325.0M364](/packages/wp-cli-php-cli-tools)[pantheon-systems/terminus

A command line interface for Pantheon

3391.5M13](/packages/pantheon-systems-terminus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
