Roundcube logo

Roundcube

The Roundcube Webmail suite

Alternative to: gmail, outlook, yahoo mail


Roundcube Webmail is a browser-based, multilingual IMAP client with an application-like user interface, providing full email client functionality including MIME support, address book, folder management, message searching and spell checking. It connects to your existing IMAP and SMTP mail server rather than hosting mail itself, so a working mailbox elsewhere is required. Written in PHP with a plugin API and skinnable UI, it is easily extended and customized for self-hosted deployments.

Roundcube Docker Compose example

Self-host Roundcube on your own server, homelab, or VPS starting from this Docker Compose example. It runs Roundcube in Docker containers using the official mysql:latest, roundcube/roundcubemail:latest images, with persistent volumes and automatic restarts preconfigured. Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.

services:
  roundcubedb:
    image: mysql:latest
    volumes:
      - db_data:/var/lib/mysql
    environment:
      # Root password for the MySQL server; Roundcube uses it to connect to the database.
      MYSQL_ROOT_PASSWORD: "roundcube-mysql-pw"
      # Database created on first start and used by Roundcube.
      MYSQL_DATABASE: "roundcubemail"
    restart: unless-stopped

  roundcubemail:
    image: roundcube/roundcubemail:latest
    depends_on:
      - roundcubedb
    environment:
      # Database backend: mysql, pgsql or sqlite.
      ROUNDCUBEMAIL_DB_TYPE: "mysql"
      # Hostname of the database service (the roundcubedb container above).
      ROUNDCUBEMAIL_DB_HOST: "roundcubedb"
      # Database name Roundcube uses (must match MYSQL_DATABASE above).
      ROUNDCUBEMAIL_DB_NAME: "roundcubemail"
      # Database user; root works out of the box with the MySQL image.
      ROUNDCUBEMAIL_DB_USER: "root"
      # Password for the database connection (must match MYSQL_ROOT_PASSWORD above).
      ROUNDCUBEMAIL_DB_PASSWORD: "roundcube-mysql-pw"
      # Hostname of your existing IMAP server. Prefix with ssl:// (SSL/TLS) or tls:// (STARTTLS) for encrypted connections.
      ROUNDCUBEMAIL_DEFAULT_HOST: "changeme"
      # Hostname of your existing SMTP server for sending mail. Prefix with ssl:// or tls:// for encryption.
      ROUNDCUBEMAIL_SMTP_SERVER: "changeme"
      # Default UI theme; "elastic" is the modern responsive skin.
      ROUNDCUBEMAIL_SKIN: "elastic"
    restart: unless-stopped

volumes:
  db_data:

Values set to changeme are required — replace them with your own values before starting Roundcube.

Prefer a managed setup? WinterFlow installs, configures, and updates Roundcube for you using this same Docker Compose configuration.