Skip to content

Repository files navigation

openZIM CMS

The Content Management System is primarily an internal tool with openZIM usage in mind. See its objectives on the wiki.

The official deployment is available at cms.openzim.org. Reach out to contact@kiwix.org if you need credentials.

You are welcome to use it, report bugs and request features!

Documentation

  • Editors Guide: For CMS users — learn about titles, books, collections, and how to use the UI to manage content.
  • Integrators Guide: For integrators who install, configure, deploy and maintain the CMS platform infrastructure.

Components

The CMS is made of two components:

backend

The backend is a Python application built with FastAPI and backed by a PostgreSQL database. It is packaged into three Docker images, each responsible for a distinct role:

  • api (ghcr.io/openzim/cms-api): the REST API consumed by the UI and by the zimfarm backend. It also exposes catalog.xml endpoints so Kiwix readers can discover the books in each collection.
  • mill (ghcr.io/openzim/cms-mill): processes background tasks, such as turning incoming zimfarm notifications into books.
  • shuttle (ghcr.io/openzim/cms-shuttle): moves and deletes ZIM files across warehouses.

frontend

The frontend is a Vue.js single-page application (ghcr.io/openzim/cms-ui). It is a consumer of the backend API and is used to review and organize the books cataloged in the CMS.

Getting Started

Support

For questions or issues:

About

ZIM file Publishing Platform

Topics

Resources

Stars

7 stars

Watchers

3 watching

Forks

Sponsor this project

Packages

Used by

Contributors

Languages