
tuxgasy/dolibarrDolibarr的Docker镜像,首次启动时具备自动安装功能。
不再支持PHP < 7.4
Dolibarr 7、8、9、10、11、12、13、14版本不再更新
Linux x86-64(amd64)、ARMv7 32位(arm32v7 ⚠️ MariaDB/MySQL Docker镜像不支持此架构)和ARMv8 64位(arm64v8)
Dolibarr ERP & CRM是一款现代化软件包,用于管理组织活动(联系人、供应商、发票、订单、库存、日程等)。
了解更多信息
此镜像基于官方PHP仓库构建。
重要:此镜像不包含数据库,需链接数据库容器使用。
建议使用Docker Compose与MariaDB集成(也可根据偏好使用MySQL)。
创建docker-compose.yml文件如下:
yamlservices: mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: dolibarr web: image: tuxgasy/dolibarr environment: DOLI_DB_HOST: mariadb DOLI_DB_USER: root DOLI_DB_PASSWORD: root DOLI_DB_NAME: dolibarr DOLI_URL_ROOT: '[***] PHP_INI_DATE_TIMEZONE: 'Europe/Paris' ports: - "80:80" links: - mariadb
然后运行所有服务:docker-compose up -d。现在可通过 [***] 访问新的Dolibarr安装。
examples目录中提供了多个示例,例如:
install.lock文件位于容器卷/var/www/documents中。
删除install.lock文件并启动更新版本的容器。确保环境变量DOLI_INSTALL_AUTO设置为1,将自动迁移数据库至新版本。也可通过Web界面进行标准升级。
将DOLI_DB_TYPE设置为pgsql可启用Dolibarr与PostgreSQL数据库配合使用。使用pgsql时,Dolibarr首次执行需手动安装:
[***];/var/www/html/documents中添加install.lock(例如:docker-compose exec services-data_dolibarr_1 /bin/bash -c "touch /var/www/html/documents/install.lock")。这种设置下,版本升级必须通过Web界面进行:
install.lock文件(例如:docker-compose exec services-data_dolibarr_1 /bin/bash -c "rm -f /var/www/html/documents/install.lock");[***];/var/www/html/documents中添加install.lock(例如:docker-compose exec services-data_dolibarr_1 /bin/bash -c "touch /var/www/html/documents/install.lock")。| 变量 | 默认值 | 描述 |
|---|---|---|
| DOLI_INSTALL_AUTO | 1 | 1:首次启动时执行安装 |
| DOLI_PROD | 1 | 1:Dolibarr将以生产模式运行 |
| DOLI_DB_TYPE | mysqli | 数据库服务器类型(mysqli、pgsql) |
| DOLI_DB_HOST | mysql | MariaDB/MySQL服务器主机名 |
| DOLI_DB_HOST_PORT | 3306 | MariaDB/MySQL服务器端口 |
| DOLI_DB_USER | doli | 数据库用户 |
| DOLI_DB_PASSWORD | doli_pass | 数据库用户密码 |
| DOLI_DB_NAME | dolidb | 数据库名称 |
| DOLI_ADMIN_LOGIN | admin | 首次启动时创建的管理员登录名 |
| DOLI_ADMIN_PASSWORD | admin | 管理员密码 |
| DOLI_URL_ROOT | http://localhost | Dolibarr安装的根URL |
| DOLI_ENABLE_MODULES | 安装时激活的模块逗号分隔列表(modUser始终激活)。例如:Societe,Facture,Stock | |
| DOLI_COMPANY_NAME | 容器初始化时设置Dolibarr的公司名称 | |
| DOLI_COMPANY_COUNTRYCODE | 容器初始化时设置公司和Dolibarr的国家(需2位代码,如"FR"、"GB"、"US"等) | |
| PHP_INI_DATE_TIMEZONE | UTC | PHP默认时区 |
| PHP_INI_MEMORY_LIMIT | 256M | PHP内存限制 |
| PHP_INI_UPLOAD_MAX_FILESIZE | 2M | PHP允许上传的最大文件大小 |
| PHP_INI_POST_MAX_SIZE | 8M | PHP接受的POST数据最大大小 |
| PHP_INI_ALLOW_URL_FOPEN | 0 | 允许URL感知的fopen包装器 |
| WWW_USER_ID | www-data用户ID(留空则不修改,开发时建议设为与主机用户相同ID) | |
| WWW_GROUP_ID | www-data组ID(留空则不修改) | |
| DOLI_AUTH | dolibarr | 用户认证方式,设为ldap或ldap, dolibarr可使用LDAP |
| DOLI_LDAP_HOST | 127.0.0.1 | LDAP服务器主机 |
| DOLI_LDAP_PORT | 389 | LDAP服务器端口 |
| DOLI_LDAP_VERSION | 3 | LDAP版本 |
| DOLI_LDAP_SERVER_TYPE | openldap | LDAP服务器类型(openLDAP、Active Directory、eGroupWare) |
| DOLI_LDAP_LOGIN_ATTRIBUTE | uid | 用于绑定用户的属性 |
| DOLI_LDAP_DN | ou=users,dc=my-domain,dc=com | 用户查找的基础DN |
| DOLI_LDAP_FILTER | 授权用户连接的过滤器 | |
| DOLI_LDAP_BIND_DN | 具有用户读取权限的用户完整DN | |
| DOLI_LDAP_BIND_PASS | 绑定用户的密码 | |
| DOLI_LDAP_DEBUG | false | 启用调试模式 |
| DOLI_CRON | 0 | 1:启用cron服务 |
| DOLI_CRON_KEY | 运行cron作业的安全密钥 | |
| DOLI_CRON_USER | cron作业使用的Dolibarr用户 | |
| DOLI_INSTANCE_UNIQUE_ID | 用于某些加密的盐值/密钥,默认在容器创建时随机生成 |
部分环境变量支持Docker密钥功能,只需添加_FILE后缀并指向读取值的文件。支持Docker密钥的环境变量:
DOLI_DB_USER => DOLI_DB_USER_FILEDOLI_DB_PASSWORD => DOLI_DB_PASSWORD_FILEDOLI_ADMIN_LOGIN => DOLI_ADMIN_LOGIN_FILEDOLI_ADMIN_PASSWORD => DOLI_ADMIN_PASSWORD_FILEDOLI_CRON_KEY => DOLI_CRON_KEY_FILEDOLI_CRON_USER => DOLI_CRON_USER_FILEDOLI_INSTANCE_UNIQUE_ID => DOLI_INSTANCE_UNIQUE_ID_FILE可通过挂载卷在部署结束或Apache启动前执行*.sh、*.sql和/或*.php自定义文件。部署期间执行的脚本挂载至/var/www/scripts/docker-init.d,Apache启动前执行的脚本挂载至/var/www/scripts/before-starting.d。
\docker-init.d |- custom_script.sql |- custom_script.php |- custom_script.sh
在Compose文件中挂载卷:
yamlservices: mariadb: image: mariadb:latest environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: dolibarr web: image: tuxgasy/dolibarr environment: DOLI_DB_HOST: mariadb DOLI_DB_USER: root DOLI_DB_PASSWORD: root DOLI_DB_NAME: dolibarr DOLI_URL_ROOT: '[***] PHP_INI_DATE_TIMEZONE: 'Europe/Paris' volumes : - volume-scripts:/var/www/scripts/docker-init.d - before-starting-scripts:/var/www/scripts/before-starting.d ports: - "80:80" links: - mariadb

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务