{"id":20532196,"url":"https://github.com/monogramm/docker-dolibarr","last_synced_at":"2026-02-20T17:02:42.099Z","repository":{"id":29704517,"uuid":"122136493","full_name":"Monogramm/docker-dolibarr","owner":"Monogramm","description":":whale: :elephant: Docker image for Dolibarr.","archived":false,"fork":false,"pushed_at":"2023-02-22T08:26:31.000Z","size":459,"stargazers_count":73,"open_issues_count":2,"forks_count":23,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-10-27T09:29:50.480Z","etag":null,"topics":["alpine","debian","docker","dolibarr","php"],"latest_commit_sha":null,"homepage":"https://github.com/Dolibarr/dolibarr","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Monogramm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2018-02-20T00:01:36.000Z","updated_at":"2025-08-15T20:15:14.000Z","dependencies_parsed_at":"2025-04-14T06:42:02.890Z","dependency_job_id":null,"html_url":"https://github.com/Monogramm/docker-dolibarr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Monogramm/docker-dolibarr","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dolibarr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dolibarr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dolibarr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dolibarr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Monogramm","download_url":"https://codeload.github.com/Monogramm/docker-dolibarr/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dolibarr/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29658167,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-20T16:33:43.953Z","status":"ssl_error","status_checked_at":"2026-02-20T16:33:43.598Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alpine","debian","docker","dolibarr","php"],"created_at":"2024-11-16T00:13:34.917Z","updated_at":"2026-02-20T17:02:42.064Z","avatar_url":"https://github.com/Monogramm.png","language":"Shell","readme":"[![License: AGPL v3][uri_license_image]][uri_license]\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/2da2a49afafc46b19275d1f8eb849f8e)](https://www.codacy.com/gh/Monogramm/docker-dolibarr?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=Monogramm/docker-dolibarr\u0026amp;utm_campaign=Badge_Grade)\n[![Build Status](https://travis-ci.org/Monogramm/docker-dolibarr.svg)](https://travis-ci.org/Monogramm/docker-dolibarr)\n[![Docker Automated buid](https://img.shields.io/docker/cloud/build/monogramm/docker-dolibarr.svg)](https://hub.docker.com/r/monogramm/docker-dolibarr/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/monogramm/docker-dolibarr.svg)](https://hub.docker.com/r/monogramm/docker-dolibarr/)\n[![Docker Version](https://images.microbadger.com/badges/version/monogramm/docker-dolibarr.svg)](https://microbadger.com/images/monogramm/docker-dolibarr)\n[![Docker Size](https://images.microbadger.com/badges/image/monogramm/docker-dolibarr.svg)](https://microbadger.com/images/monogramm/docker-dolibarr)\n[![GitHub stars](https://img.shields.io/github/stars/Monogramm/docker-dolibarr?style=social)](https://github.com/Monogramm/docker-dolibarr)\n\n# Dolibarr on Docker\n\nDocker image for Dolibarr.\n\nProvides full database configuration, production mode, HTTPS enforcer (SSL must be provided by reverse proxy), handles upgrades, and so on...\n\n## What is Dolibarr\n\nDolibarr ERP \u0026 CRM is a modern software package to manage your organization's activity (contacts, suppliers, invoices, orders, stocks, agenda, ...).\n\n\u003e [More informations](https://github.com/dolibarr/dolibarr)\n\n## Supported tags and respective `Dockerfile` links\n\n[Dockerhub monogramm/docker-dolibarr/](https://hub.docker.com/r/monogramm/docker-dolibarr/)\n\nTags:\n\n\u003c!-- \u003eDocker Tags --\u003e\n\n-   16.0.1-apache 16.0-apache apache 16.0.1 16.0 latest  (`images/16.0/php7.3-apache-amd64/Dockerfile`)\n-   16.0.1-apache 16.0-apache apache 16.0.1 16.0 latest  (`images/16.0/php7.3-apache-i386/Dockerfile`)\n-   16.0.1-fpm 16.0-fpm fpm  (`images/16.0/php7.3-fpm-amd64/Dockerfile`)\n-   16.0.1-fpm 16.0-fpm fpm  (`images/16.0/php7.3-fpm-i386/Dockerfile`)\n-   16.0.1-fpm-alpine 16.0-fpm-alpine fpm-alpine  (`images/16.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   16.0.1-fpm-alpine 16.0-fpm-alpine fpm-alpine  (`images/16.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   15.0.3-apache 15.0-apache 15.0.3 15.0  (`images/15.0/php7.3-apache-amd64/Dockerfile`)\n-   15.0.3-apache 15.0-apache 15.0.3 15.0  (`images/15.0/php7.3-apache-i386/Dockerfile`)\n-   15.0.3-fpm 15.0-fpm  (`images/15.0/php7.3-fpm-amd64/Dockerfile`)\n-   15.0.3-fpm 15.0-fpm  (`images/15.0/php7.3-fpm-i386/Dockerfile`)\n-   15.0.3-fpm-alpine 15.0-fpm-alpine  (`images/15.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   15.0.3-fpm-alpine 15.0-fpm-alpine  (`images/15.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   14.0.5-apache 14.0-apache 14.0.5 14.0  (`images/14.0/php7.3-apache-amd64/Dockerfile`)\n-   14.0.5-apache 14.0-apache 14.0.5 14.0  (`images/14.0/php7.3-apache-i386/Dockerfile`)\n-   14.0.5-fpm 14.0-fpm  (`images/14.0/php7.3-fpm-amd64/Dockerfile`)\n-   14.0.5-fpm 14.0-fpm  (`images/14.0/php7.3-fpm-i386/Dockerfile`)\n-   14.0.5-fpm-alpine 14.0-fpm-alpine  (`images/14.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   14.0.5-fpm-alpine 14.0-fpm-alpine  (`images/14.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   13.0.5-apache 13.0-apache 13.0.5 13.0  (`images/13.0/php7.3-apache-amd64/Dockerfile`)\n-   13.0.5-apache 13.0-apache 13.0.5 13.0  (`images/13.0/php7.3-apache-i386/Dockerfile`)\n-   13.0.5-fpm 13.0-fpm  (`images/13.0/php7.3-fpm-amd64/Dockerfile`)\n-   13.0.5-fpm 13.0-fpm  (`images/13.0/php7.3-fpm-i386/Dockerfile`)\n-   13.0.5-fpm-alpine 13.0-fpm-alpine  (`images/13.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   13.0.5-fpm-alpine 13.0-fpm-alpine  (`images/13.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   12.0.5-apache 12.0-apache 12.0.5 12.0  (`images/12.0/php7.3-apache-amd64/Dockerfile`)\n-   12.0.5-apache 12.0-apache 12.0.5 12.0  (`images/12.0/php7.3-apache-i386/Dockerfile`)\n-   12.0.5-fpm 12.0-fpm  (`images/12.0/php7.3-fpm-amd64/Dockerfile`)\n-   12.0.5-fpm 12.0-fpm  (`images/12.0/php7.3-fpm-i386/Dockerfile`)\n-   12.0.5-fpm-alpine 12.0-fpm-alpine  (`images/12.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   12.0.5-fpm-alpine 12.0-fpm-alpine  (`images/12.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   11.0.5-apache 11.0-apache 11.0.5 11.0  (`images/11.0/php7.3-apache-amd64/Dockerfile`)\n-   11.0.5-apache 11.0-apache 11.0.5 11.0  (`images/11.0/php7.3-apache-i386/Dockerfile`)\n-   11.0.5-fpm 11.0-fpm  (`images/11.0/php7.3-fpm-amd64/Dockerfile`)\n-   11.0.5-fpm 11.0-fpm  (`images/11.0/php7.3-fpm-i386/Dockerfile`)\n-   11.0.5-fpm-alpine 11.0-fpm-alpine  (`images/11.0/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   11.0.5-fpm-alpine 11.0-fpm-alpine  (`images/11.0/php7.3-fpm-alpine-i386/Dockerfile`)\n-   develop-apache develop-apache develop develop  (`images/develop/php7.3-apache-amd64/Dockerfile`)\n-   develop-apache develop-apache develop develop  (`images/develop/php7.3-apache-i386/Dockerfile`)\n-   develop-fpm develop-fpm  (`images/develop/php7.3-fpm-amd64/Dockerfile`)\n-   develop-fpm develop-fpm  (`images/develop/php7.3-fpm-i386/Dockerfile`)\n-   develop-fpm-alpine develop-fpm-alpine  (`images/develop/php7.3-fpm-alpine-amd64/Dockerfile`)\n-   develop-fpm-alpine develop-fpm-alpine  (`images/develop/php7.3-fpm-alpine-i386/Dockerfile`)\n\n\u003c!-- \u003cDocker Tags --\u003e\n\n\u003c!--\n## Quick reference\n\n-   **Supported architectures**: ([more info](https://github.com/docker-library/official-images#architectures-other-than-amd64))  \n    -   [`amd64`](https://hub.docker.com/r/amd64/php/)\n    -   [`arm32v5`](https://hub.docker.com/r/arm32v5/php/)\n    -   [`arm32v6`](https://hub.docker.com/r/arm32v6/php/)\n    -   [`arm32v7`](https://hub.docker.com/r/arm32v7/php/)\n    -   [`arm64v8`](https://hub.docker.com/r/arm64v8/php/)\n    -   [`i386`](https://hub.docker.com/r/i386/php/)\n    -   [`ppc64le`](https://hub.docker.com/r/ppc64le/php/)\n--\u003e\n\n## How to run this image\n\nThis image is based on the [officiel PHP repository](https://registry.hub.docker.com/_/php/).\nIt is inspired from [nextcloud](https://github.com/nextcloud/docker) and [tuxgasy/docker-dolibarr](https://github.com/tuxgasy/docker-dolibarr).\n\nThis image does not contain the database for Dolibarr. You need to use either an existing database or a database container.\n\nThis image is designed to be used in a micro-service environment. There are two versions of the image you can choose from.\n\nThe `apache` tag contains a full Dolibarr installation including an apache web server. It is designed to be easy to use and gets you running pretty fast. This is also the default for the `latest` tag and version tags that are not further specified.\n\nThe second option is a `fpm` container. It is based on the [php-fpm](https://hub.docker.com/_/php/) image and runs a fastCGI-Process that serves your Dolibarr page. To use this image it must be combined with any webserver that can proxy the http requests to the FastCGI-port of the container.\n\n## Using the apache image\n\nThe apache image contains a webserver and exposes port 80. To start the container type:\n\n```shell\n$ docker run -d -e DOLI_AUTO_CONFIGURE='' -p 8080:80 monogramm/docker-dolibarr\n```\n\nNow you can access Dolibarr at \u003chttp://localhost:8080/\u003e from your host system.\n\n## Using the fpm image\n\nTo use the fpm image you need an additional web server that can proxy http-request to the fpm-port of the container. For fpm connection this container exposes port 9000. In most cases you might want use another container or your host as proxy.\nIf you use your host you can address your Dolibarr container directly on port 9000. If you use another container, make sure that you add them to the same docker network (via `docker run --network \u003cNAME\u003e ...` or a `docker-compose` file).\nIn both cases you don't want to map the fpm port to you host.\n\n```shell\n$ docker run -d -e DOLI_AUTO_CONFIGURE='' monogramm/docker-dolibarr:fpm\n```\n\nAs the fastCGI-Process is not capable of serving static files (style sheets, images, ...) the webserver needs access to these files. This can be achieved with the `volumes-from` option. You can find more information in the docker-compose section.\n\n## Using an external database\n\nBy default this container does not contain the database for Dolibarr. You need to use either an existing database or a database container.\n\nThe Dolibarr setup wizard (should appear on first run) allows connecting to an existing MySQL/MariaDB or PostgreSQL database. You can also link a database container, e. g. `--link my-mysql:mysql`, and then use `mysql` as the database host on setup. More info is in the docker-compose section.\n\n## Persistent data\n\nThe Dolibarr installation and all data beyond what lives in the database (file uploads, etc) are stored in the [unnamed docker volume](https://docs.docker.com/engine/tutorials/dockervolumes/#adding-a-data-volume) volume `/var/www/html` and  `/var/www/documents`. The docker daemon will store that data within the docker directory `/var/lib/docker/volumes/...`. That means your data is saved even if the container crashes, is stopped or deleted.\n\nTo make your data persistent to upgrading and get access for backups is using named docker volume or mount a host folder. To achieve this you need one volume for your database container and Dolibarr.\n\nDolibarr:\n\n-   `/var/www/html/` folder where all Dolibarr data lives\n-   `/var/www/documents/` folder where all Dolibarr documents lives\n\n```shell\n$ docker run -d \\\n    -v dolibarr_html:/var/www/html \\\n    -v dolibarr_docs:/var/www/documents \\\n    -e DOLI_AUTO_CONFIGURE='' \\\n    monogramm/docker-dolibarr\n```\n\nDatabase:\n\n-   `/var/lib/mysql` MySQL / MariaDB Data\n-   `/var/lib/postgresql/data` PostgreSQL Data\n\n```shell\n$ docker run -d \\\n    -v db:/var/lib/mysql \\\n    mariadb \\\n    --character_set_client=utf8 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --character-set-client-handshake=FALSE\n```\n\nIf you want to get fine grained access to your individual files, you can mount additional volumes for config, your theme and custom modules.\nThe `conf` is stored in subfolder inside `/var/www/html/`. The modules are split into core `apps` (which are shipped with Dolibarr and you don't need to take care of) and a `custom` folder. If you use a custom theme it would go into the `theme` subfolder.\n\nOverview of the folders that can be mounted as volumes:\n\n-   `/var/www/html` Main folder, needed for updating\n-   `/var/www/html/custom` installed / modified modules\n-   `/var/www/html/conf` local configuration\n-   `/var/www/html/theme/\u003cYOUR_CUSTOM_THEME\u003e` theming/branding\n\nIf you want to use named volumes for all of these it would look like this\n\n```shell\n$ docker run -d \\\n    -v dolibarr:/var/www/html \\\n    -v apps:/var/www/html/custom \\\n    -v config:/var/www/html/conf \\\n    -v theme:/var/www/html/theme/\u003cYOUR_CUSTOM_THEME\u003e \\\n    -e DOLI_AUTO_CONFIGURE='' \\\n    monogramm/docker-dolibarr\n```\n\n## Auto configuration via environment variables\n\nThe Dolibarr image supports auto configuration via environment variables. You can preconfigure nearly everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables. ONLY use one database type!\n\nSee [conf.php.example](https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/conf/conf.php.example) and [install.forced.sample.php](https://github.com/Dolibarr/dolibarr/blob/develop/htdocs/install/install.forced.sample.php) for more details on install configuration.\n\n### DOLI_AUTO_CONFIGURE\n\n_Default value_: `1`\n\n_Possible values_: `1`, `''`\n\nThis parameter triggers the Dolibarr default configuration generation based on environment variables.\n\nExamples:\n```properties\n    DOLI_AUTO_CONFIGURE=1\n    DOLI_AUTO_CONFIGURE=''\n```\n\n### DOLI_DB_TYPE\n\n_Default value_: `mysqli`\n\n_Possible values_: `mysqli`, `pgsql`\n\nThis parameter contains the name of the driver used to access your Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_TYPE=mysqli\n    DOLI_DB_TYPE=pgsql\n```\n\n### DOLI_DB_HOST\n\n_Default value_:\n\nThis parameter contains host name or ip address of Dolibarr database server.\n\nExamples:\n```properties\n    DOLI_DB_HOST=localhost\n    DOLI_DB_HOST=127.0.2.1\n    DOLI_DB_HOST=192.168.0.10\n    DOLI_DB_HOST=mysql.myserver.com\n```\n\n### DOLI_DB_PORT\n\n_Default value_: `3306`\n\nThis parameter contains the port of the Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_PORT=3306\n    DOLI_DB_PORT=5432\n```\n\n### DOLI_DB_NAME\n\n_Default value_: `dolibarr`\n\nThis parameter contains name of Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_NAME=dolibarr\n    DOLI_DB_NAME=mydatabase\n```\n\n### DOLI_DB_USER\n\n_Default value_: `dolibarr`\n\nThis parameter contains user name used to read and write into Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_USER=admin\n    DOLI_DB_USER=dolibarruser\n```\n\n### DOLI_DB_PASSWORD\n\n_Default value_:\n\nThis parameter contains password used to read and write into Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_PASSWORD=myadminpass\n    DOLI_DB_PASSWORD=myuserpassword\n```\n\n### DOLI_DB_PREFIX\n\n_Default value_: `llx_`\n\nThis parameter contains prefix of Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_PREFIX=llx_\n```\n\n### DOLI_DB_CHARACTER_SET\n\n_Default value_: `utf8`\n\nDatabase character set used to store data (forced during database creation. value of database is then used).\nDepends on database driver used. See `DOLI_DB_TYPE`.\n\nExamples:\n```properties\n    DOLI_DB_CHARACTER_SET=utf8\n```\n\n### DOLI_DB_COLLATION\n\n_Default value_: `utf8_unicode_ci`\n\nDatabase collation used to sort data (forced during database creation. value of database is then used).\nDepends on database driver used. See `DOLI_DB_TYPE`.\n\nExamples:\n```properties\n    DOLI_DB_COLLATION=utf8_unicode_ci\n```\n\n### DOLI_DB_ROOT_LOGIN\n\n_Default value_:\n\nThis parameter contains the database server root username used to create the Dolibarr database.\n\nIf this parameter is set, the container will automatically tell Dolibarr to create the database on first install with the root account.\n\nExamples:\n```properties\n    DOLI_DB_ROOT_LOGIN=root\n    DOLI_DB_ROOT_LOGIN=dolibarruser\n```\n\n### DOLI_DB_ROOT_PASSWORD\n\n_Default value_:\n\nThis parameter contains the database server root password used to create the Dolibarr database.\n\nExamples:\n```properties\n    DOLI_DB_ROOT_PASSWORD=myrootpass\n```\n\n### DOLI_ADMIN_LOGIN\n\n_Default value_: `admin`\n\nThis parameter contains the admin's login used in the first install.\n\nExamples:\n```properties\n    DOLI_ADMIN_LOGIN=admin\n```\n\n### DOLI_MODULES\n\n_Default value_:\n\nThis parameter contains the list (comma separated) of modules to enable in the first install.\n\nExamples:\n```properties\n    DOLI_MODULES=modSociete\n    DOLI_MODULES=modSociete,modPropale,modFournisseur,modContrat,modLdap\n```\n\n### DOLI_URL_ROOT\n\n_Default value_: `http://localhost`\n\nThis parameter defines the root URL of your Dolibarr index.php page without ending \"/\".\nIt must link to the directory htdocs.\nIn most cases, this is autodetected but it's still required\n\n-   to show full url bookmarks for some services (ie: agenda rss export url, ...)\n-   or when using Apache dir aliases (autodetect fails)\n-   or when using nginx (autodetect fails)\n\nExamples:\n```properties\n    DOLI_URL_ROOT=http://localhost\n    DOLI_URL_ROOT=http://mydolibarrvirtualhost\n    DOLI_URL_ROOT=http://myserver/dolibarr/htdocs\n    DOLI_URL_ROOT=http://myserver/dolibarralias\n```\n\n### DOLI_AUTH\n\n_Default value_: `dolibarr`\n\n_Possible values_: Any values found in files in htdocs/core/login directory after the `function_` string and before the `.php` string, **except forceuser**. You can also separate several values using a `,`. In this case, Dolibarr will check login/pass for each value in order defined into value. However, note that this can't work with all values.\n\nThis parameter contains the way authentication is done.\n**Will not be used if you use first install wizard.** See _First use_ for more details.\n\nIf value `ldap` is used, you must also set parameters `DOLI_LDAP_*` and `DOLI_MODULES` must contain `modLdap`.\n\nExamples:\n```properties\n    DOLI_AUTH=http\n    DOLI_AUTH=dolibarr\n    DOLI_AUTH=ldap\n    DOLI_AUTH=openid,dolibarr\n```\n\n### DOLI_LDAP_HOST\n\n_Default value_:\n\nYou can define several servers here separated with a comma.\n\nExamples:\n```properties\n    DOLI_LDAP_HOST=localhost\n    DOLI_LDAP_HOST=ldap.company.com\n    DOLI_LDAP_HOST=ldaps://ldap.company.com:636,ldap://ldap.company.com:389\n```\n\n### DOLI_LDAP_PORT\n\n_Default value_: `389`\n\n### DOLI_LDAP_VERSION\n\n_Default value_: `3`\n\n### DOLI_LDAP_SERVERTYPE\n\n_Default value_: `openldap`\n_Possible values_: `openldap`, `activedirectory` or `egroupware`\n\n### DOLI_LDAP_DN\n\n_Default value_:\n\nExamples:\n```properties\n    DOLI_LDAP_DN=ou=People,dc=company,dc=com\n```\n\n### DOLI_LDAP_LOGIN_ATTRIBUTE\n\n_Default value_: `uid`\n\nEx: uid or samaccountname for active directory\n\n### DOLI_LDAP_FILTER\n\n_Default value_:\n\nIf defined, the two previous parameters are not used to find a user into LDAP.\n\nExamples:\n```properties\n    DOLI_LDAP_FILTER=(uid=%1%)\n    DOLI_LDAP_FILTER=(\u0026(uid=%1%)(isMemberOf=cn=Sales,ou=Groups,dc=company,dc=com))\n```\n\n### DOLI_LDAP_ADMIN_LOGIN\n\n_Default value_:\n\nRequired only if anonymous bind disabled.\n\nExamples:\n```properties\n    DOLI_LDAP_ADMIN_LOGIN=cn=admin,dc=company,dc=com\n```\n\n### DOLI_LDAP_ADMIN_PASS\n\n_Default value_:\n\nRequired only if anonymous bind disabled. Ex:\n\nExamples:\n```properties\n    DOLI_LDAP_ADMIN_PASS=secret\n```\n\n### DOLI_LDAP_DEBUG\n\n_Default value_: `false`\n\n### DOLI_PROD\n\n_Default value_: `0`\n\n_Possible values_: `0` or `1`\n\nWhen this parameter is defined, all errors messages are not reported.\nThis feature exists for production usage to avoid to give any information to hackers.\n\nExamples:\n```properties\n    DOLI_PROD=0\n    DOLI_PROD=1\n```\n\n### DOLI_HTTPS\n\n_Default value_: `0`\n\n_Possible values_: `0`, `1`, `2` or `https://my.domain.com`\n\nThis parameter allows to force the HTTPS mode.\n\n-   `0` = No forced redirect\n-   `1` = Force redirect to https, until `SCRIPT_URI` start with https into response\n-   `2` = Force redirect to https, until `SERVER[\"HTTPS\"]` is 'on' into response\n-   `https://my.domain.com` = Force redirect to https using this domain name.\n\n_Warning_: If you enable this parameter, your web server must be configured to\nrespond URL with https protocol.\nAccording to your web server setup, some values may work and other not. Try\ndifferent values (`1`, `2` or `https://my.domain.com`) if you experience problems.\n\nExamples:\n```properties\n    DOLI_HTTPS=0\n    DOLI_HTTPS=1\n    DOLI_HTTPS=2\n    DOLI_HTTPS=https://my.domain.com\n```\n\n### DOLI_NO_CSRF_CHECK\n\n_Default value_: `0`\n\n_Possible values_: `0`, `1`\n\nThis parameter can be used to disable CSRF protection.\n\nThis might be required if you access Dolibarr behind a proxy that make URL rewriting, to avoid false alarms.\n\nExamples:\n```properties\n    DOLI_NO_CSRF_CHECK=0\n    DOLI_NO_CSRF_CHECK=1\n```\n\n### PHP_INI_DATE_TIMEZONE\n\n_Default value_: `UTC`\n\nDefault timezone on PHP.\n\n### PHP_MEMORY_LIMIT\n\n_Default value_: `256M`\n\nDefault memory limit on PHP.\n\n### PHP_MAX_UPLOAD\n\n_Default value_: `20M`\n\nDefault max upload size on PHP.\n\n### PHP_MAX_EXECUTION_TIME\n\n_Default value_: `300`\n\nDefault max execution time (in seconds) on PHP.\n\n### WWW_USER_ID\n\n_Default value_: `33`\n\nID of user www-data. ID will not change if left empty. During development, it is very practical to put the same ID as the host user.\n\n### WWW_GROUP_ID\n\n_Default value_: `33`\n\nID of group www-data. ID will not change if left empty.\n\n## Running this image with docker-compose\n\n### Base version - apache with MariaDB/MySQL\n\nThis version will use the apache image and add a [MariaDB](https://hub.docker.com/_/mariadb/) container (you can also use [MySQL](https://hub.docker.com/_/mysql/) if you prefer). The volumes are set to keep your data persistent. This setup provides **no ssl encryption** and is intended to run behind a proxy.\n\nMake sure to set the variables `MYSQL_ROOT_PASSWORD`, `MYSQL_PASSWORD`, `DOLI_DB_PASSWORD` before you run this setup.\n\nCreate `docker-compose.yml` file using [docker-compose_apache.yml](/template/docker-compose.apache.test.yml) as template.\n\nThen run all services `docker-compose up -d`. Now, go to \u003chttp://localhost:80/install\u003e to access the new Dolibarr installation wizard.\nIn this example, the Dolibarr scripts, documents, HTML and database will all be stored locally in the following folders:\n\n-   `/srv/dolibarr/html`\n-   `/srv/dolibarr/scripts`\n-   `/srv/dolibarr/documents`\n-   `/srv/dolibarr/db`\n\n## Base version - FPM with PostgreSQL\n\nWhen using the FPM image you need another container that acts as web server on port 80 and proxies the requests to the Dolibarr container. In this example a simple nginx container is combined with the monogramm/docker-dolibarr-fpm image and a [PostgreSQL](https://hub.docker.com/_/postgres/) database container. The data is stored in docker volumes. The nginx container also need access to static files from your Dolibarr installation. It gets access to all the volumes mounted to Dolibarr via the `volumes_from` option. The configuration for nginx is stored in the configuration file `nginx.conf`, that is mounted into the container.\n\nAs this setup does **not include encryption** it should to be run behind a proxy.\n\nMake sure to set the variables `POSTGRES_PASSWORD` and `DOLI_DB_PASSWORD` before you run this setup.\n\nCreate `docker-compose.yml` file using [docker-compose_fpm.yml](/template/docker-compose.fpm.test.yml) as template.\n\nHere is a sample `nginx.conf` file expected to be in the same folder:\n```nginx\n    server {\n        listen 80;\n        server_name ${NGINX_HOST};\n\n        root /var/www/html;\n        index index.php;\n\n        access_log /var/log/nginx/access.log;\n        error_log /var/log/nginx/error.log;\n\n        location / {\n            try_files $uri $uri/ index.php;\n        }\n\n        location ~ [^/]\\.php(/|$) {\n            # try_files $uri =404;\n            fastcgi_split_path_info ^(.+?\\.php)(/.*)$;\n            fastcgi_pass dolibarr:9000;\n            fastcgi_index index.php;\n            include fastcgi_params;\n            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n            fastcgi_param PATH_INFO $fastcgi_path_info;\n        }\n\n        location /api {\n            if ( !-e $request_filename) {\n                rewrite ^.* /api/index.php last;\n            }\n        }\n\n    }\n```\n\nThen run all services `docker-compose up -d`. Now, go to \u003chttp://localhost:80/install\u003e to access the new Dolibarr installation wizard.\nIn this example, the Dolibarr scripts, documents, HTML and database will all be stored in Docker's default location.\nFeel free to edit this as you see fit.\n\n## Make your Dolibarr available from the internet\n\nUntil here your Dolibarr is just available from you docker host. If you want you Dolibarr available from the internet adding SSL encryption is mandatory.\n\n### HTTPS - SSL encryption\n\nThere are many different possibilities to introduce encryption depending on your setup.\n\nWe recommend using a reverse proxy in front of our Dolibarr installation. Your Dolibarr will only be reachable through the proxy, which encrypts all traffic to the clients. You can mount your manually generated certificates to the proxy or use a fully automated solution, which generates and renews the certificates for you.\n\n## First use\n\nWhen you first access your Dolibarr, you need to access the install wizard at `http://localhost/install/`.\nThe setup wizard will appear and ask you to choose an administrator account, password and the database connection. For the database use the name of your database container as host and `dolibarr` as table and user name. Also enter the database password you chose in your `docker-compose.yml` file.\n\nMost of the fields of the wizard can be initialized with the environment variables.\n\nYou should note though that some environment variables will be ignored during install wizard (`DOLI_AUTH` and `DOLI_LDAP_*` for instance). An initial `conf.php` was generated by the container on the first start with the Dolibarr environment variables you set through Docker. To use the container generated configuration, you can skip the first step of install and go directly to \u003chttp://localhost:8080/install/step2.php\u003e.\n\n## Update to a newer version\n\nUpdating the Dolibarr container is done by pulling the new image, throwing away the old container and starting the new one. Since all data is stored in volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process. Don't forget to add all the volumes to your new container, so it works as expected. Also, we advised you do not skip major versions during your upgrade. For instance, upgrade from 5.0 to 6.0, then 6.0 to 7.0, not directly from 5.0 to 7.0.\n\n```shell\n$ docker pull monogramm/docker-dolibarr\n$ docker stop \u003cyour_dolibarr_container\u003e\n$ docker rm \u003cyour_dolibarr_container\u003e\n$ docker run \u003cOPTIONS\u003e -d monogramm/docker-dolibarr\n```\n\nBeware that you have to run the same command with the options that you used to initially start your Dolibarr. That includes volumes, port mapping.\n\nWhen using docker-compose your compose file takes care of your configuration, so you just have to run:\n\n```shell\n$ docker-compose pull\n$ docker-compose up -d\n```\n\n## Adding Features\n\nIf the image does not include the packages you need, you can easily build your own image on top of it.\nStart your derived image with the `FROM` statement and add whatever you like.\n\n```Dockerfile\nFROM monogramm/docker-dolibarr:apache\n\nRUN ...\n\n```\n\nYou can also clone this repository and use the [update.sh](update.sh) shell script to generate a new Dockerfile based on your own needs.\n\nFor instance, you could build a container based on Dolibarr develop branch by setting the `update.sh` versions like this:\n\n```bash\nversions=( \"develop\" )\n```\n\nThen simply call [update.sh](update.sh) script.\n\n```shell\nbash update.sh\n```\n\nYour Dockerfile(s) will be generated in the `images/develop` folder.\n\nIf you use your own Dockerfile you need to configure your docker-compose file accordingly. Switch out the `image` option with `build`. You have to specify the path to your Dockerfile. (in the example it's in the same directory next to the docker-compose file)\n\n```yaml\n  app:\n    build: .\n    links:\n      - db\n    volumes:\n      - data:/var/www/html/data\n      - config:/var/www/html/config\n      - apps:/var/www/html/apps\n    restart: always\n```\n\n**Updating** your own derived image is also very simple. When a new version of the Dolibarr image is available run:\n\n```shell\ndocker build -t your-name --pull .\ndocker run -d your-name\n```\n\nor for docker-compose:\n\n```shell\ndocker-compose build --pull\ndocker-compose up -d\n```\n\nThe `--pull` option tells docker to look for new versions of the base image. Then the build instructions inside your `Dockerfile` are run on top of the new image.\n\n## Questions / Issues\n\nIf you got any questions or problems using the image, please visit our [Github Repository](https://github.com/Monogramm/docker-dolibarr) and write an issue.  \n\n[uri_license]: http://www.gnu.org/licenses/agpl.html\n\n[uri_license_image]: https://img.shields.io/badge/License-AGPL%20v3-blue.svg\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonogramm%2Fdocker-dolibarr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonogramm%2Fdocker-dolibarr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonogramm%2Fdocker-dolibarr/lists"}