Koha plugin store project consisting of 2 distinct components:
- Backend
- Client
-
Mojolicious app (Perl)
-
Koha plugins database
-
Features:
- Restricted access UI for review process of new plugin submissions
- Authorized community members can access and review plugins
- Provides REST API to be consumed by core Koha
- Automatically manage latest version releases for each plugin
-
Notes
- A
koha_plugin_store.conffile is required. Follow the example fromkoha_plugin_store.conf.example - The
kpz_packagesdirectory is used to store.kpzfiles download from github. - To install cpan dependencies, run
cpanm --installdeps .at the project root dir.
- A
-
Commands
- Create database schema: run
perl lib/KohaPluginStore/Command/create_db_schema.pl - Reset test data:
perl lib/KohaPluginStore/Command/reset_test_data.pl - Generate schema class files:
perl lib/KohaPluginStore/Command/make_dbic_schema_files.pl
- Create database schema: run
No local Perl install needed:
docker compose up -d --builddocker compose exec app perl lib/KohaPluginStore/Command/create_db_schema.pl(first run only)docker compose exec app perl lib/KohaPluginStore/Command/reset_test_data.pl(optional demo data)- Visit http://127.0.0.1:3000
Edits to the repo on your host are picked up automatically (morbo hot-reloads inside the
container) — no rebuild needed unless you change cpanfile or the Dockerfile itself.
A koha_plugin_store.conf (see koha_plugin_store.conf.example) is only needed for the
GitHub-backed plugin submission flow, not for browsing the site.
-
VueJS App
-
Relevant repo/branch here
-
Interacts with backend using the REST API
-
Features:
- Provides UI for searching and installing plugins
- Enables updating an installed plugin if installed version is out of date
- morbo script/koha_plugin_store

