Container Installation
While for the majority of installations the grommunio Appliance delivers a comprehensive solution for most installation targets, some special needs might not be possible to satisfy. For these cases, the grommunio base system and core (groupware) can be installed on container management systems such as Kubernetes and Docker Compose with guidance from this chapter.
This chapter assumes a basic system is running already. Basic in this regard means:
should have an interactive shell for you to use
should not be ephemeral and not lose its state when turned off
We will build a container for the Grommunio Core suite.
Automatic configuration of various services
Grommunio Core (gromox-http, gromox-antispam, gromox-event, gromox-midb, gromox-postfix,gromox-timer, gromox-zcore, gromox-imap, gromox-pop3, gromox-delivery, gromox-delivery-queue, gromox-admin, nginx, redis and php-fpm)
Configurable via config files and environment variables.
Note
Future versions will configure all variables via the environment
This Container uses a openSUSE Linux base and includes s6 overlay enabled for PID 1 init capabilities.
Note
This is a complex piece of software that tries to get you up and running with sane defaults, you will need to switch eventually over to manually configuring the configuration file when depending on your use case.
Important
Do not use our defaults in production environments! Please adapt them according to your usage requirements.
Prerequisites and Assumptions
This image assumes that you have an external MySQL/MariaDB container. A useful prerequisite is to read the grommunio documentation.
Installation
Automated builds of the image are available on Docker Hub and is the recommended method of installation.
Quick Start
The quickest way to get started is using docker-compose or kubernetes.
See the examples folder for a working docker-compose example and kubernetes example that can be modified (and should be) for development or production use.
Set various environment variables to understand the capabilities of this image.
Map persistent storage for access to configuration and data files for backup.
Configuration
Persistent Storage
The following directories are used for configuration and can be mapped for persistent storage.
Environment Variables
Below is the complete list of available options that can be used to customize your installation.
They will be added/updated as soon as components implement environment variable based deployments natively.
General Options
Database Options
Shell Access
For debugging and maintenance purposes you may want access the containers shell.