专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

dolibarr/dolibarr Docker 镜像 - 轩辕镜像 | Docker 镜像高效稳定拉取服务

热门搜索:openclaw🔥nginx🔥redis🔥mysqlopenjdkcursorweb2apimemgraphzabbixetcdubuntucorednsjdk
dolibarr
dolibarr/dolibarr
dolibarr
这是一个用于Dolibarr ERP CRM的Docker镜像,Dolibarr是一款集成企业资源规划(ERP)与客户关系管理(CRM)功能的开源Web套件,专为中小企业打造,涵盖销售管理、库存跟踪、财务管理、客户互动等核心业务模块,支持自定义配置与功能扩展,而Docker镜像则提供了快速部署、环境隔离及跨平台运行的便利,助力用户高效搭建和管理企业级业务系统。
33 次收藏下载次数: 0状态:社区镜像维护者:dolibarr仓库类型:镜像最近更新:14 天前
轩辕镜像,让镜像更快,让人生更轻。点击查看
版本下载
轩辕镜像,让镜像更快,让人生更轻。点击查看

Dolibarr on Docker

Docker image for Dolibarr ERP & CRM Open source web suite.

Dolibarr is a modern software package to manage your organization's activity (contacts, quotes, invoices, orders, stocks, agenda, hr, expense reports, accountancy, ecm, manufacturing, ...).

More information

Available versions/tags on Docker

See [***]

Very old Dolibarr versions may not be updated on docker hub, but you can always get them as standard zip package from Dolibarr official web site

Supported architectures

Linux x86-64 (amd64) and ARMv8 64-bit (arm64v8).

How to run this image ?

This image is based on the official PHP repository and the official Dolibarr repository. It is build using the tools saved in the Dolibarr docker build repository.

This image does not contains database, so you need to link it with a database container. Let's see how to use Docker Compose to integrate it with MariaDB (you can also use MySQL if you prefer):

If you want to have a persistent database and Dolibarr data files after a reboot or upgrade, you must first create the directories /home/dolibarr_mariadb, /home/dolibarr_documents and /home/dolibarr_custom on your host to store persistent files, respectively, of the database, of the Dolibarr document files and of the installed external Dolibarr modules.

mkdir /home/dolibarr_mariadb /home/dolibarr_documents /home/dolibarr_custom;

Then, create a docker-compose.yml file as following:

yaml
# Edit this file then run 
# docker-compose up -d
# docker-compose logs

services:
    mariadb:
        image: mariadb:latest
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
            MYSQL_DATABASE: ${MYSQL_DATABASE:-dolidb}
            MYSQL_USER: ${MYSQL_USER:-dolidbuser}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dolidbpass}

        volumes:
            - /home/dolibarr_mariadb:/var/lib/mysql

    web:
        # Choose the version of image to install
        # dolibarr/dolibarr:latest (the latest stable version)
        # dolibarr/dolibarr:develop
        # dolibarr/dolibarr:x.y.z
        image: dolibarr/dolibarr:latest
        environment:
            DOLI_INIT_DEMO: ${DOLI_INIT_DEMO:-0}
            DOLI_DB_HOST: ${DOLI_DB_HOST:-mariadb}
            DOLI_DB_NAME: ${DOLI_DB_NAME:-dolidb}
            DOLI_DB_USER: ${DOLI_DB_USER:-dolidbuser}
            DOLI_DB_PASSWORD: ${DOLI_DB_PASSWORD:-dolidbpass}
            DOLI_URL_ROOT: "${DOLI_URL_ROOT:-[***]}"
            DOLI_ADMIN_LOGIN: "${DOLI_ADMIN_LOGIN:-admin}"
            DOLI_ADMIN_PASSWORD: "${DOLI_ADMIN_PASSWORD:-admin}"
            DOLI_CRON: ${DOLI_CRON:-0}
            DOLI_CRON_KEY: ${DOLI_CRON_KEY:-mycronsecurekey}
            DOLI_COMPANY_NAME: ${DOLI_COMPANY_NAME:-MyBigCompany}
            WWW_USER_ID: ${WWW_USER_ID:-1000}
            WWW_GROUP_ID: ${WWW_GROUP_ID:-1000}

        ports:
            - "80:80"
        links:
            - mariadb
        volumes:
            - /home/dolibarr_documents:/var/www/documents
            - /home/dolibarr_custom:/var/www/html/custom

Then build and run all services (-d is to run in background).

sudo docker-compose up -d

If the "docker-compose" command is not available, you can replace it with the command "docker compose".

You can verify that the web and the mariadb containers are up and see logs with

sudo docker-compose ps

sudo docker-compose logs

Once the log shows that the start is complete (you should see a message "You can connect to your Dolibarr web application..."), go to [***] to access to the new Dolibarr installation, first admin login is admin/admin (if you did not change default value previously in the docker-compose.yml file).

Note: If the host port 80 is already used, you can replace "80:80" with "xx:80" where xx is a free port number on the host. You will be able to access the Dolibarr using the URL [***]

Other examples:

You can find other examples of docker-compose.yml file for enhanced use in the examples directory, such as:

  • Running Dolibarr with the cron (for Scheduled Tasks module)
  • Running Dolibarr with a letsencrypt certificate
  • Running Dolibarr with a mysql server
  • Running Dolibarr with a Traefik reverse proxy
  • Running Dolibarr with secrets

Upgrading Dolibarr version and migrating DB

Warning: Only data stored into the persistent directories (see the section "volumes" of your docker-compose.yml) will not be lost after an upgrade of containers.

Remove the install.lock file located inside the container volume /var/www/documents using one of this method:

sudo docker exec nameofwebcontainer bash -c "rm -f /var/www/documents/install.lock"

or

sudo docker exec -it nameofwebcontainer bash

rm -f /var/www/documents/install.lock; exit

or if the document directory has been set as a persistent directory, you can do it from the host:

rm -f /home/dolibarr_documents/install.lock

Then download the updated version of containers and restart them.

sudo docker-compose pull

sudo docker-compose up -d

sudo docker-compose logs

Ensure that env DOLI_INSTALL_AUTO in your docker-compose.yml is set to 1 so it will migrate the Database to the new version, or you can prefer to use the standard way to upgrade Dolibarr through the web interface by calling the /install page.

Environment variables summary

You can use the following variables for a better customization of your docker-compose file.

VariableDefault valueDescription
DOLI_INSTALL_AUTO11: The installation will be done during docker first boot
DOLI_INIT_DEMO01: The installation will also load demo data during docker first boot
DOLI_PROD11: Dolibarr will be run in production mode
DOLI_INSTANCE_UNIQUE_IDSecret ID used as a salt / key for some encryption. By default, it is set randomly when the docker container is created.
DOLI_DB_TYPEmysqliType of the DB server (mysqli, pgsql)
DOLI_DB_HOSTmariadbHost name of the MariaDB/MySQL server
DOLI_DB_HOST_PORT3306Host port of the MariaDB/MySQL server
DOLI_DB_NAMEdolidbDatabase name
DOLI_DB_USERdolidbuserDatabase user
DOLI_DB_PASSWORDdolidbpassDatabase user's password
DOLI_DB_SSLfalseEnable encrypted database connections (MySQL and Dolibarr >v19 required)
DOLI_URL_ROOThttp://localhostUrl root of the Dolibarr installation
DOLI_ADMIN_LOGINadminAdmin's login created on the first boot
DOLI_ADMIN_PASSWORDadminAdmin's initial password created on the first boot
DOLI_ENABLE_MODULESComma-separated list of modules to be activated at install. modUser will always be activated. (Ex: Societe,Facture,Stock). Modules can't be activated correctly if DOLI_COMPANY_NAME and DOLI_COMPANY_COUNTRYCODE are not set
DOLI_COMPANY_NAMESet the company name of Dolibarr at container init
DOLI_COMPANY_COUNTRYCODESet the company and Dolibarr country at container init. Need 2-letter codes like "FR", "GB", "US",...
DOLI_AUTHdolibarrWhich method is used to connect users, change to ldap or ldap, dolibarr to use LDAP
DOLI_LDAP_HOST127.0.0.1The host of the LDAP server
DOLI_LDAP_PORT389The port of the LDAP server
DOLI_LDAP_VERSION3The version of LDAP to use
DOLI_LDAP_SERVER_TYPEopenldapThe type of LDAP server (openLDAP, Active Directory, eGroupWare)
DOLI_LDAP_LOGIN_ATTRIBUTEuidThe attribute used to bind users
DOLI_LDAP_DNou=users,dc=my-domain,dc=comThe base where to look for users
DOLI_LDAP_FILTERThe filter to authorise users to connect
DOLI_LDAP_BIND_DNThe complete DN of the user with read access on users
DOLI_LDAP_BIND_PASSThe password of the bind user
DOLI_LDAP_DEBUGfalseActivate debug mode
DOLI_CRON01: Enable cron service
DOLI_CRON_KEYSecurity key to launch cron jobs
DOLI_CRON_USERDolibarr user used to launch cron jobs (will use firstadmin if not defined)
WWW_USER_IDID of user www-data. ID will not changed if leave empty. During a development, it is very practical to put the same ID as the host user.
WWW_GROUP_IDID of group www-data. ID will not changed if leave empty.
PHP_INI_DATE_TIMEZONEUTCDefault timezone on PHP
PHP_INI_MEMORY_LIMIT256MPHP Memory limit
PHP_INI_UPLOAD_MAX_FILESIZE2MPHP Maximum allowed size for uploaded files
PHP_INI_POST_MAX_SIZE8MPHP Maximum size of POST data that PHP will accept.
PHP_INI_ALLOW_URL_FOPEN0Allow URL-aware fopen wrappers

Some environment variables are compatible with docker secrets behaviour, just add the _FILE suffix to var name and point the value file to read. Environment variables that are compatible with docker secrets:

  • DOLI_INSTANCE_UNIQUE_ID => DOLI_INSTANCE_UNIQUE_ID_FILE
  • DOLI_DB_USER => DOLI_DB_USER_FILE
  • DOLI_DB_PASSWORD => DOLI_DB_PASSWORD_FILE
  • DOLI_ADMIN_LOGIN => DOLI_ADMIN_LOGIN_FILE
  • DOLI_ADMIN_PASSWORD => DOLI_ADMIN_PASSWORD_FILE
  • DOLI_CRON_KEY => DOLI_CRON_KEY_FILE
  • DOLI_CRON_USER => DOLI_CRON_USER_FILE

Advanced setup

Add post-deployment and before starting scripts

It is possible to execute *.sh, *.sql and/or *.php custom files at the end of a deployment or before starting Apache by mounting volumes. For scripts to execute during deployment, mount volume in /var/www/scripts/docker-init.d. For scripts to execute before Apache start, mount volume in /var/www/scripts/before-starting.d.

\docker-init.d
|- custom_script.sql
|- custom_script.php
|- custom_script.sh

Mount the volumes with compose file :

yaml
services:
    mariadb:
        image: mariadb:latest
        environment:
            MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
            MYSQL_DATABASE: ${MYSQL_DATABASE:-dolidb}
            MYSQL_USER: ${MYSQL_USER:-dolidbuser}
            MYSQL_PASSWORD: ${MYSQL_PASSWORD:-dolidbpass}

    web:
        # Choose the version of image to install
        # dolibarr/dolibarr:latest (the latest stable version)
        # dolibarr/dolibarr:develop
        # dolibarr/dolibarr:x.y.z
        image: dolibarr/dolibarr
        environment:
            DOLI_INIT_DEMO: ${DOLI_INIT_DEMO:-0}
            DOLI_DB_HOST: ${DOLI_DB_HOST:-mariadb}
            DOLI_DB_NAME: ${DOLI_DB_NAME:-dolidb}
            DOLI_DB_USER: ${DOLI_DB_USER:-dolidbuser}
            DOLI_DB_PASSWORD: ${DOLI_DB_PASSWORD:-dolidbpass}
            DOLI_URL_ROOT: "${DOLI_URL_ROOT:-[***]}"
            DOLI_ADMIN_LOGIN: "${DOLI_ADMIN_LOGIN:-admin}"
            DOLI_ADMIN_PASSWORD: "${DOLI_ADMIN_PASSWORD:-admin}"
            DOLI_CRON: ${DOLI_CRON:-0}
            DOLI_CRON_KEY: ${DOLI_CRON_KEY:-mycronsecurekey}
            WWW_USER_ID: ${WWW_USER_ID:-1000}
            WWW_GROUP_ID: ${WWW_GROUP_ID:-1000}
        volumes :
          - volume-scripts:/var/www/scripts/docker-init.d
          - before-starting-scripts:/var/www/scripts/before-starting.d
        ports:
            - "80:80"
        links:
            - mariadb
Tuning the apache configuration to suit you
ServerName

If you run apache2ctl configtest inside the container you'll probably get a message like this:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using x.y.z.w Set the 'ServerName' directive globally to suppress this message

Easy fix, create a single text file

Contents: "ServerName dolibarr.example.com"

Mountpoint: "/etc/apache2/conf-enabled/servername.conf"

read-only: Yes, mount it read only with :ro

Running your dolibarr behind a proxy?

If you want Dolibarr or the logs from the dolibarr container to reveal the original IP address and not just the proxy's IP address you should create 2 text files:

remoteip.load This file will load the apache module remoteip [***]

Contents: "LoadModule remoteip_module /usr/lib/apache2/modules/mod_remoteip.so"

Mountpoint: "/etc/apache2/mods-enabled/remoteip.load"

read-only: Yes, mount it read only with :ro

remoteip.conf This file will contain the configuration for remoteip and should also be bind mounted read-only inside the container. Content will depend on your proxy and which kind of header it uses. You may perhaps also enable the proxy protocol, read more at [***]

Example content: "RemoteIPHeader X-Forwarded-For"

Mountpoint: "/etc/apache2/mods-enabled/remoteip.conf"

Support for PostgreSQL

Setting DOLI_DB_TYPE to pgsql enable Dolibarr to run with a PostgreSQL database. When set to use pgsql, Dolibarr must be installed manually on it's first execution:

  • Browse to [***];
  • Follow the installation setup;
  • Add install.lock inside the container volume /var/www/html/documents (ex docker-compose exec services-data_dolibarr_1 /bin/bash -c "touch /var/www/html/documents/install.lock").

When setup this way, to upgrade version the use of the web interface is mandatory:

  • Remove the install.lock file (ex docker-compose exec services-data_dolibarr_1 /bin/bash -c "rm -f /var/www/html/documents/install.lock").

  • Browse to [***];

  • Upgrade DB;

  • Add install.lock inside the container volume /var/www/html/documents (ex docker-compose exec services-data_dolibarr_1 /bin/bash -c "touch /var/www/html/documents/install.lock").

Trouble shooting

If you get error "urllib3.exceptions.URLSchemeUnknown: Not supported URL scheme http+docker" during docker-compose, try to upgrade or downgrade the pip package: pip install requests==2.31.0

查看更多 dolibarr 相关镜像 →
upshift/dolibarr logo
upshift/dolibarr
upshift
Dolibarr ERP服务器镜像,用于部署企业资源计划系统,支持企业管理业务流程与资源。
25 次收藏10万+ 次下载
2 个月前更新
tuxgasy/dolibarr logo
tuxgasy/dolibarr
tuxgasy
Dolibarr的Docker镜像,首次启动时具备自动安装功能,支持多种版本标签和架构,需配合数据库容器使用,适用于快速部署ERP和CRM系统。
71 次收藏50万+ 次下载
1 年前更新

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

Docker 配置

登录仓库拉取

通过 Docker 登录认证访问私有仓库

专属域名拉取

无需登录使用专属域名

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

系统配置

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

MacOS OrbStack

MacOS OrbStack 容器配置

Docker Compose

Docker Compose 项目配置

NAS 设备

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

极空间

极空间 NAS 系统配置服务

网络设备

爱快路由

爱快 iKuai 路由系统配置

宝塔面板

在宝塔面板一键配置镜像

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

使用与功能问题

docker search 报错:专属域名下仅支持 Docker Hub 查询

docker search 报错问题

网页搜不到镜像:Docker Hub 有但轩辕镜像搜索无结果

镜像搜索不到

离线传输镜像:无法直连时用 docker save/load 迁移

离线传输镜像

Docker 插件安装错误:application/vnd.docker.plugin.v1+json

Docker 插件安装错误

WSL 下 Docker 拉取慢:网络与挂载目录影响及优化

WSL 拉取镜像慢

轩辕镜像是否安全?镜像完整性校验(digest)说明

镜像安全性

如何用轩辕镜像拉取镜像?登录方式与专属域名配置

如何拉取镜像

错误码与失败问题

manifest unknown 错误:镜像不存在或标签错误

manifest unknown 错误

TLS/SSL 证书验证失败:Docker pull 时 HTTPS 证书错误

TLS 证书验证失败

DNS 解析超时:无法解析镜像仓库地址或连接超时

DNS 解析超时

410 Gone 错误:Docker 版本过低导致协议不兼容

410 错误:版本过低

402 Payment Required 错误:流量耗尽错误提示

402 错误:流量耗尽

401 UNAUTHORIZED 错误:身份认证失败或登录信息错误

身份认证失败错误

429 Too Many Requests 错误:请求频率超出专业版限制

429 限流错误

Docker login 凭证保存错误:Cannot autolaunch D-Bus(不影响登录)

凭证保存错误

账号 / 计费 / 权限

免费版与专业版区别:功能、限额与使用场景对比

免费版与专业版区别

支持的镜像仓库:Docker Hub、GCR、GHCR、K8s 等列表

轩辕镜像支持的镜像仓库

拉取失败是否扣流量?计费规则说明

拉取失败流量计费

KYSEC 权限不够:麒麟 V10/统信 UOS 下脚本执行被拦截

KYSEC 权限错误

如何申请开具发票?(增值税普票/专票)

开具发票

如何修改网站与仓库登录密码?

修改网站和仓库密码

配置与原理类

registry-mirrors 未生效:仍访问官方仓库或报错的原因

registry-mirrors 未生效

如何去掉镜像名称中的轩辕域名前缀?(docker tag)

去掉域名前缀

如何拉取指定架构镜像?(ARM64/AMD64 等多架构)

拉取指定架构镜像

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
dolibarr/dolibarr
博客公告Docker 镜像公告与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
镜像拉取问题咨询请 提交工单,官方技术交流群:1072982923。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
镜像拉取问题咨询请提交工单,官方技术交流群:。轩辕镜像所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.