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.
76 lines
2.8 KiB
Markdown
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` 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](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 .
|
|
```
|
|
|