2.8 KiB
Running Roundcube in a Docker Container
The simplest method is to run the official image:
docker run -e ROUNDCUBEMAIL_DEFAULT_HOST=mail -d roundcube/roundcubemail
Configuration/Environment Variables
The following env variables can be set to configure your Roundcube Docker instance:
ROUNDCUBEMAIL_DEFAULT_HOST
- Hostname of the IMAP server to connect to
ROUNDCUBEMAIL_DEFAULT_PORT
- IMAP port number; defaults to 143
ROUNDCUBEMAIL_SMTP_SERVER
- Hostname of the SMTP server to send mails
ROUNDCUBEMAIL_SMTP_PORT
- SMTP port number; defaults to 587
ROUNDCUBEMAIL_PLUGINS
- List of built-in plugins to activate. Defaults to archive,zipdownload
ROUNDCUBEMAIL_UPLOAD_MAX_FILESIZE
- File upload size limit; defaults to 5M
By default, the image will use a local SQLite database for storing user account metadata.
It'll be created inside the /var/www/html
directory and can be backed up from there. Please note that
this option should not be used for production environments.
Connect to a MySQL Database
The recommended way to run Roundcube is connected to a MySQL database. Specify the following env variables to do so:
ROUNDCUBEMAIL_DB_TYPE
- Database provider; currently supported: mysql
, pgsql
, sqlite
ROUNDCUBEMAIL_DB_HOST
- Host (or Docker instance) name of the database service; defaults to mysql
or postgres
depending on linked containers.
ROUNDCUBEMAIL_DB_USER
- The database username for Roundcube; defaults to root
on mysql
ROUNDCUBEMAIL_DB_PASSWORD
- The password for the database connection
ROUNDCUBEMAIL_DB_NAME
- The database name for Roundcube to use; defaults to roundcubemail
Before starting the container, please make sure that the supplied database exists and the given database user has privileges to create tables.
Run it with a link to the MySQL host and the username/password variables:
docker run --link=mysql:mysql -d roundcube/roundcubemail
Advanced configuration
Apart from the above described environment variables, the Docker image also allows to add custom config files
which are merged into Roundcube's default config. Therefore the image defines a volume /var/roundcube/config
where additional config files (*.php
) are searched and included. Mount a local directory with your config
files - check for valid PHP syntax - when starting the Docker container:
docker run -v ./config/:/var/roundcube/config/ -d roundcube/roundcubemail
Check our wiki for a reference of Roundcube config options.
Building a Docker image
Use the Dockerfile
in this directory to build your own Docker image.
It pulls the latest build of Roundcube Webmail from the Github download page and builds it on top of a php:7.1-apache
Docker image.
Build it from this directory with
docker build -t roundcubemail .