You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
roundcubemail/docker/README.md

76 lines
2.8 KiB
Markdown

# 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` volume 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](https://github.com/roundcube/roundcubemail/wiki/Configuration).
## 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 .
```