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 [email protected] 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: [email protected]
- GitHub Issues: github.com/openzim/cms/issues