General Requirements
Ketty server is the core reusable component of our publishing platform build on top of Coko Server. The technologies used for the development of the server are:
We provide a pre-built image of Ketty's server for easier deployment and you can find it here
Docker
The server is fully dockerized and plays nicely with Docker version 20.10.23 and Compose 2.15.1
Postgres
Our choice for database is Postgres. You can find more about this db solution here.
Object Storage
Ketty server requires a file sever (object storage) in order to provide its functionality. Our preferred solution is min.io, however Amazon's S3 could be used interchangeably.
Services
Ketty server is based on a microservices approach to ensure scalability. This means that it is heavily relying on the following services:
XSweet Service
XSweet Service is a wrapper on top of XSweet library, which allows users of Ketty platform to upload docx files and convert them into HTML (which is the format the Ketty's editor, Wax, understands). More info about Xsweet can be found here.
XSweet service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.
XSweet microservice pre-built image
EPUBchecker Service
EPUBchecker service is a wrapper on top of epubcheck validator provided by IDPF. This service ensures that all of the EPUBs produced by Ketty platform are valid EPUBv3 and accessible based on WCAG 2.0 A standard.
EPUBchecker service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.
EPUBChecker microservice pre-built image
PagedJS Service
PagedJS service allows Ketty platform to export books to PDF format as well as facilitate the visual design process. This is possible due to the use of Coko's PagedJS library.
PagedJS service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.
PagedJS microservice pre-built image
ICML Service
This service allows Ketty platform to export its books to ICML format via the use of Pandoc library
ICML service is a requirement in order Ketty platform to function properly. It should be up and running before someone tries to deploy the actual Ketty platform.