
raoulbhatia/roundcubemail该Docker镜像基于Roundcube Mail集成CardDAV功能,源自Packagist包roundcube/carddav。Roundcube Mail是一款开源Web邮件客户端,提供直观的Web界面用于邮件管理;CardDAV是一种基于HTTP的地址簿同步协议,该集成版本允许用户通过Web邮件客户端同步、管理CardDAV地址簿,实现邮件与联系人数据的统一管理。
bashdocker run -d \ --name roundcube-carddav \ -p 8080:80 \ # 映射容器80端口到主机8080端口 -e DB_TYPE=mysql \ # 数据库类型(mysql/postgresql/sqlite) -e DB_HOST=db \ # 数据库主机地址(需与数据库容器网络互通) -e DB_NAME=roundcube \ # 数据库名称 -e DB_USER=roundcubeuser \ # 数据库用户名 -e DB_PASS=strongpassword \ # 数据库密码 -e SMTP_SERVER=smtp.example.com \ # SMTP服务器地址 -e SMTP_PORT=587 \ # SMTP端口(587/465/25) -e IMAP_SERVER=imap.example.com \ # IMAP服务器地址 -e IMAP_PORT=993 \ # IMAP端口(993/143) -e CARDDAV_SERVER_URL=[***] \ # CardDAV服务器地址 -e CARDDAV_USER=carddavuser \ # CardDAV服务器用户名 -e CARDDAV_PASS=carddavpassword \ # CardDAV服务器密码 -v roundcube_data:/var/www/html/data \ # 持久化存储用户数据(联系人、配置等) roundcube/carddav:latest
yamlversion: '3.8' services: roundcube: image: roundcube/carddav:latest container_name: roundcube-carddav restart: always ports: - "8080:80" # Web访问端口 environment: - DB_TYPE=mysql - DB_HOST=db - DB_NAME=roundcube - DB_USER=roundcubeuser - DB_PASS=strongpassword - SMTP_SERVER=smtp.example.com - SMTP_PORT=587 - SMTP_ENCRYPTION=tls # SMTP加密方式(tls/ssl/none) - IMAP_SERVER=imap.example.com - IMAP_PORT=993 - IMAP_ENCRYPTION=ssl # IMAP加密方式(ssl/tls/none) - CARDDAV_SERVER_URL=[***] - CARDDAV_USER=carddavuser - CARDDAV_PASS=carddavpassword - DEFAULT_LANGUAGE=zh_CN # 默认语言(en_US/zh_CN/de等) volumes: - roundcube_data:/var/www/html/data # 用户数据持久化 depends_on: - db # 依赖数据库服务启动 db: image: mysql:8.0 container_name: roundcube-db restart: always environment: - MYSQL_ROOT_PASSWORD=rootpassword - MYSQL_DATABASE=roundcube - MYSQL_USER=roundcubeuser - MYSQL_PASSWORD=strongpassword volumes: - db_data:/var/lib/mysql # 数据库数据持久化 volumes: roundcube_data: # Roundcube用户数据卷 db_data: # 数据库数据卷
| 环境变量 | 描述 | 默认值/示例 |
|---|---|---|
DB_TYPE | 数据库类型 | mysql(支持mysql/pgsql/sqlite) |
DB_HOST | 数据库主机地址 | db |
DB_NAME | 数据库名称 | roundcube |
DB_USER | 数据库访问用户名 | roundcubeuser |
DB_PASS | 数据库访问密码 | - |
SMTP_SERVER | SMTP服务器地址(用于发送邮件) | smtp.example.com |
SMTP_PORT | SMTP服务器端口 | 587 |
SMTP_ENCRYPTION | SMTP加密方式(tls/ssl/none) | tls |
IMAP_SERVER | IMAP服务器地址(用于接收邮件) | imap.example.com |
IMAP_PORT | IMAP服务器端口 | 993 |
IMAP_ENCRYPTION | IMAP加密方式(ssl/tls/none) | ssl |
CARDDAV_SERVER_URL | CardDAV地址簿服务器完整URL(需包含地址簿路径) | [***] |
CARDDAV_USER | CardDAV服务器认证用户名 | carddavuser |
CARDDAV_PASS | CardDAV服务器认证密码 | - |
DEFAULT_LANGUAGE | 界面默认语言(支持ISO 639-1代码,如zh_CN/en_US/de) | en_US |
TIMEZONE | 时区设置 | UTC |
| 容器路径 | 用途 | 建议挂载方式 |
|---|---|---|
/var/www/html/data | 存储用户数据(联系人、配置、缓存等),需持久化以防止数据丢失 | Docker卷(如roundcube_data) |
容器默认暴露80端口(HTTP),可通过主机端口映射(如8080:80)提供Web访问。生产环境建议搭配反向代理(如Nginx)启用HTTPS,映射容器80端口到代理服务器内部端口。
DB_*环境变量配置)。.env)或Docker Secrets管理敏感配置。CARDDAV_SERVER_URL。roundcube_data卷与数据库数据,防止数据丢失。manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务