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!
- 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.
The CMS is made of two components:
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 exposescatalog.xmlendpoints 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.
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.
- CMS users/editors: Start with the Editors Guide.
- Integrators: Start with the Integrators Guide.
- Developers: See dev/README.md for a local
docker-composestack.
For questions or issues:
- Email: contact@kiwix.org
- GitHub Issues: github.com/openzim/cms/issues