instrumentisto / roundcube-docker-image

Roundcube Webmail Docker Image
Other
20 stars 6 forks source link
roundcube roundcube-docker roundcube-webmail

Roundcube Webmail Docker image

Release CI Docker Hub Uses

Docker Hub | GitHub Container Registry | Quay.io

Changelog

Supported tags and respective Dockerfile links

What is Roundcube Webmail?

Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface. It provides full functionality you expect from an email client, including MIME support, address book, folder manipulation, message searching and spell checking. More details...

roundcube.net

Roundcube Logo

How to use this image

To simply run Roundcube Webmail image mount your Roundcube configuration and use apache image version:

docker run -d -p 80:80 -v /my/roundcube.config.php:/app/config/config.inc.php \
    instrumentisto/roundcube:apache

It's better to do it with Docker Compose. See Apache Docker Compose example for details.

If you prefer Nginx and PHP-FPM, you just require second sidecar Nginx container:

version: '3'
services:
  roundcube:
    image: instrumentisto/roundcube:fpm
    expose:
      - "9000"
    volumes:
      - app-volume:/app
      - ./roundcube.config.php:/app/config/config.inc.php:ro
  nginx:
    image: nginx:stable-alpine
    depends_on:
      - roundcube
    ports:
      - "80:80"
    volumes:
      - app-volume:/var/www
      - ./nginx.vh.conf:/etc/nginx/conf.d/default.conf:ro
volumes:
  app-volume:

See Nginx and PHP-FPM Docker Compose example for details.

Also, this image contains prepared directory for SQLite database (if you choose to use one) in /var/db/ path. So your db_dsnw parameter is preferred to have following value:

$config['db_dsnw'] = 'sqlite:////var/db/roundcube.db?mode=0640';

Check out examples for more details.

Environment Variables

PHP_OPCACHE_REVALIDATION

The image contains PHP OPcache enabled. By default, cache revalidation is disabled for performance purposes, so once PHP script runs - it is cached forever and no changes to it have effect.

To disable this behavior, specify PHP_OPCACHE_REVALIDATION=1 environment variable on container start. This will turn on OPcache revalidation, so any changes to PHP scripts will have desired effect. In this case it's also recommended disabling PHP OPcache JIT, as described below.

PHP_OPCACHE_JIT_BUFFER_SIZE (>= 1.5 only)

By default, the image contains tracing PHP OPcache JIT enabled of 100M buffer size, for performance purposes.

To disable this behavior, specify PHP_OPCACHE_JIT_BUFFER_SIZE=0 environment variable on container start. This will turn off OPcache JIT completely.

SHARE_APP

There are some container environments (like Kubernetes) where you can't share directory from one container to another directly. Instead, you should create a volume, place there desired files and mount this volume to both containers.

With providing SHARE_APP=1 environment variable you have this behavior out-of-the-box. It will copy all the Roundcube Webmail sources from /app/ directory to /shared/ directory (just mount your volume to this directory) on container start and serve them from there. See Kubernetes example for details.

Image tags

apache, latest

The image with Roundcube Webmail served by Apache HTTP server.

fpm

The image with Roundcube Webmail served by PHP-FPM.
It cannot be used alone and is intended to be used in conjunction with some other web server image (like Nginx, Apache, etc).

This image is based on the popular Alpine Linux project, available in the alpine official image. Alpine Linux is much smaller than most distribution base images (~5MB), and thus leads to much slimmer images in general.

<X>

Latest tag of the latest major X Roundcube Webmail version.

<X.Y>

Latest tag of the latest minor X.Y Roundcube Webmail version.

<X.Y.Z>

Latest tag of the concrete X.Y.Z Roundcube Webmail version.

<X.Y.Z>-r<N>

Concrete N image revision tag of the concrete X.Y.Z Roundcube Webmail version.

Once built, it's never updated.

License

Roundcube Webmail is licensed under GPL-3.0-or-later license.

As with all Docker images, these likely also contain other software which may be under other licenses (such as Bash, etc from the base distribution, along with any direct or indirect dependencies of the primary software being contained).

As for any pre-built image usage, it is the image user's responsibility to ensure that any use of this image complies with any relevant licenses for all software contained within.

The sources for producing instrumentisto/roundcube Docker images are licensed under Blue Oak Model License 1.0.0.

Issues

We can't notice comments in the DockerHub (or other container registries) so don't use them for reporting issue or asking question.

If you have any problems with or questions about this image, please contact us through a GitHub issue.