* made a few changes in order to further simplify the setup for
developers of the Groupware backend
* add STALWART_DOMAIN to deployments/examples/opencloud_full/.env
* adapt the Stalwart configuration file to not set server.hostname and,
instead, pick it up from /etc/hostname, which is set by Docker
Compose as we can use default values for STALWART_DOMAIN there, in an
analogous fashion to the other containers in that project
* add config/keycloak/clients/groupware.json to avoid requiring manual
configuration of Keycloak via the admin web UI
* Stalwart container:
- listen for SMTPS on :1465
- remove the stalwart-logs volume, not needed (logs are going to
stdout)
* updated services/groupware/DEVELOPER.md:
- refer to a variable OCDIR to make instructions more copy-pasteable
- remove manual Keycloak configuration section as it is now obsolete,
replaced by provisioning a configuration file instead
Groupware
The OpenCloud Groupware service provides a REST API for performing all the backend operations needed by the OpenCloud Groupware frontends.
OpenAPI Documentation
To generate the OpenAPI ("Swagger") documentation of the REST API, pnpm is a pre-requisite.
Run the following command in this directory to generate the swagger.yml OpenAPI definition file:
make apidoc
To generate a static HTML file using Redocly, which will generate a file api.html:
make apidoc-static
Path Parameters
Path parameters are documented in the file api-params.yaml and injected into the OpenAPI specification using the script apidoc-process.ts (which is done automatically when using the Makefile as described above.)
Favicon
A favicon is inserted into the static (Redocly) HTML file as part of the build process in the Makefile, using favicon.png as the source, computing its base64 to insert it as an image using a data URL in order to embed it.
That is performed by the script apidoc-postprocess-html.ts (which is done automatically when using then Makefile as described above.)