{"id":13471320,"url":"https://github.com/tuxgasy/docker-dolibarr","last_synced_at":"2025-03-26T13:31:00.873Z","repository":{"id":18054284,"uuid":"83241278","full_name":"tuxgasy/docker-dolibarr","owner":"tuxgasy","description":"Use the official repo https://github.com/Dolibarr/dolibarr-docker","archived":true,"fork":false,"pushed_at":"2024-08-17T11:23:50.000Z","size":296,"stargazers_count":130,"open_issues_count":9,"forks_count":92,"subscribers_count":11,"default_branch":"master","last_synced_at":"2024-10-30T02:59:28.746Z","etag":null,"topics":["docker","docker-image","dolibarr","dolibarr-erp"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tuxgasy.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}},"created_at":"2017-02-26T21:16:08.000Z","updated_at":"2024-10-16T15:33:25.000Z","dependencies_parsed_at":"2023-12-17T22:25:43.488Z","dependency_job_id":"6eda208a-e688-4fcb-bdd2-6286bb4dad17","html_url":"https://github.com/tuxgasy/docker-dolibarr","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxgasy%2Fdocker-dolibarr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxgasy%2Fdocker-dolibarr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxgasy%2Fdocker-dolibarr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tuxgasy%2Fdocker-dolibarr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tuxgasy","download_url":"https://codeload.github.com/tuxgasy/docker-dolibarr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245662783,"owners_count":20652084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docker","docker-image","dolibarr","dolibarr-erp"],"created_at":"2024-07-31T16:00:43.029Z","updated_at":"2025-03-26T13:31:00.574Z","avatar_url":"https://github.com/tuxgasy.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"# Dolibarr on Docker\n\nDocker image for Dolibarr with auto installer on first boot.\n\n## Supported tags\n\n* 15.0.3-php7.4 15.0.3 15\n* 16.0.5-php8.1 16.0.5 16\n* 17.0.4-php8.1 17.0.4 17\n* 18.0.5-php8.1 18.0.5 18\n* 19.0.2-php8.2 19.0.2 19 latest\n* develop\n\n**End of support for PHP \u003c 7.4**\n\n**Dolibarr versions 7, 8, 9, 10, 11, 12, 13, 14 no more updated**\n\n## Supported architectures\n\nLinux x86-64 (`amd64`), ARMv7 32-bit (`arm32v7` :warning: MariaDB/Mysql docker images don't support it) and ARMv8 64-bit (`arm64v8`)\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 information](https://github.com/dolibarr/dolibarr)\n\n## How to run this image ?\n\nThis image is based on the [official PHP repository](https://registry.hub.docker.com/_/php/).\n\n**Important**: This image don't contains database. So you need to link it with a database container.\n\nLet's use [Docker Compose](https://docs.docker.com/compose/) to integrate it with [MariaDB](https://hub.docker.com/_/mariadb/) (you can also use [MySQL](https://hub.docker.com/_/mysql/) if you prefer).\n\nCreate `docker-compose.yml` file as following:\n\n```yaml\nservices:\n    mariadb:\n        image: mariadb:latest\n        environment:\n            MYSQL_ROOT_PASSWORD: root\n            MYSQL_DATABASE: dolibarr\n\n    web:\n        image: tuxgasy/dolibarr\n        environment:\n            DOLI_DB_HOST: mariadb\n            DOLI_DB_USER: root\n            DOLI_DB_PASSWORD: root\n            DOLI_DB_NAME: dolibarr\n            DOLI_URL_ROOT: 'http://0.0.0.0'\n            PHP_INI_DATE_TIMEZONE: 'Europe/Paris'\n        ports:\n            - \"80:80\"\n        links:\n            - mariadb\n```\n\nThen run all services `docker-compose up -d`. Now, go to http://0.0.0.0 to access to the new Dolibarr installation.\n\n### Other examples\n\nYou can find several examples in the `examples` directory, such as:\n - [Running Dolibarr with a mysql server](./examples/with-mysql/dolibarr-with-mysql.md)\n - [Running Dolibarr with a Traefik reverse proxy](./examples/with-rp-traefik/dolibarr-with-traefik.md)\n - [Running Dolibarr with secrets](./examples/with-secrets/dolibarr-with-secrets.md)\n\n## Upgrading version and migrating DB\nThe `install.lock` file is located inside the container volume `/var/www/documents`.\n\nRemove the `install.lock` file and start an updated version container. Ensure that env `DOLI_INSTALL_AUTO` is set to `1`. It will migrate Database to the new version.\nYou can still use the standard way to upgrade through web interface.\n\n## Early support for PostgreSQL\nSetting `DOLI_DB_TYPE` to `pgsql` enable Dolibarr to run with a PostgreSQL database.\nWhen set to use `pgsql`, Dolibarr must be installed manually on it's first execution:\n - Browse to `http://0.0.0.0/install`;\n - Follow the installation setup;\n - 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\"`).\n\nWhen setup this way, to upgrade version the use of the web interface is mandatory:\n - Remove the `install.lock` file (ex `docker-compose exec services-data_dolibarr_1 /bin/bash -c \"rm -f /var/www/html/documents/install.lock\"`).\n - Browse to `http://0.0.0.0/install`;\n - Upgrade DB;\n - 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\"`).\n\n## Environment variables summary\n\n| Variable                        | Default value                  | Description |\n| ------------------------------- | ------------------------------ | ----------- |\n| **DOLI_INSTALL_AUTO**           | *1*                            | 1: The installation will be executed on first boot\n| **DOLI_PROD**                   | *1*                            | 1: Dolibarr will be run in production mode\n| **DOLI_DB_TYPE**                | *mysqli*                       | Type of the DB server (**mysqli**, pgsql)\n| **DOLI_DB_HOST**                | *mysql*                        | Host name of the MariaDB/MySQL server\n| **DOLI_DB_HOST_PORT**           | *3306*                         | Host port of the MariaDB/MySQL server\n| **DOLI_DB_USER**                | *doli*                         | Database user\n| **DOLI_DB_PASSWORD**            | *doli_pass*                    | Database user's password\n| **DOLI_DB_NAME**                | *dolidb*                       | Database name\n| **DOLI_ADMIN_LOGIN**            | *admin*                        | Admin's login create on the first boot\n| **DOLI_ADMIN_PASSWORD**         | *admin*                        | Admin'password\n| **DOLI_URL_ROOT**               | *http://localhost*             | Url root of the Dolibarr installation\n| **DOLI_ENABLE_MODULES**         |                                | Comma-separated list of modules to be activated at install. modUser will always be activated. (Ex: `Societe,Facture,Stock`)\n| **DOLI_COMPANY_NAME**           |                                | Set the company name of Dolibarr at container init\n| **DOLI_COMPANY_COUNTRYCODE**    |                                | Set the company and Dolibarr country at container init. Need 2-letter codes like \"FR\", \"GB\", \"US\",...\n| **PHP_INI_DATE_TIMEZONE**       | *UTC*                          | Default timezone on PHP\n| **PHP_INI_MEMORY_LIMIT**        | *256M*                         | PHP Memory limit\n| **PHP_INI_UPLOAD_MAX_FILESIZE** | *2M*                           | PHP Maximum allowed size for uploaded files\n| **PHP_INI_POST_MAX_SIZE**       | *8M*                           | PHP Maximum size of POST data that PHP will accept.\n| **PHP_INI_ALLOW_URL_FOPEN**     | *0*                            | Allow URL-aware fopen wrappers\n| **WWW_USER_ID**                 |                                | ID 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.\n| **WWW_GROUP_ID**                |                                | ID of group www-data. ID will not changed if leave empty.\n| **DOLI_AUTH**                   | *dolibarr*                     | Which method is used to connect users, change to `ldap` or `ldap, dolibarr` to use LDAP\n| **DOLI_LDAP_HOST**              | *127.0.0.1*                    | The host of the LDAP server\n| **DOLI_LDAP_PORT**              | *389*                          | The port of the LDAP server\n| **DOLI_LDAP_VERSION**           | *3*                            | The version of LDAP to use\n| **DOLI_LDAP_SERVER_TYPE**       | *openldap*                     | The type of LDAP server (openLDAP, Active Directory, eGroupWare)\n| **DOLI_LDAP_LOGIN_ATTRIBUTE**   | *uid*                          | The attribute used to bind users\n| **DOLI_LDAP_DN**                | *ou=users,dc=my-domain,dc=com* | The base where to look for users\n| **DOLI_LDAP_FILTER**            |                                | The filter to authorise users to connect\n| **DOLI_LDAP_BIND_DN**           |                                | The complete DN of the user with read access on users\n| **DOLI_LDAP_BIND_PASS**         |                                | The password of the bind user\n| **DOLI_LDAP_DEBUG**             | *false*                        | Activate debug mode\n| **DOLI_CRON**                   | *0*                            | 1: Enable cron service\n| **DOLI_CRON_KEY**               |                                | Security key launch cron jobs\n| **DOLI_CRON_USER**              |                                | Dolibarr user used for cron jobs\n| **DOLI_INSTANCE_UNIQUE_ID**     |                                | Secret ID used as a salt / key for some encryption. By default, it is set randomly when the docker container is created.\n\nSome environment variables are compatible with docker secrets behaviour, just add the `_FILE` suffix to var name and point the value file to read.\nEnvironment variables that are compatible with docker secrets:\n\n* `DOLI_DB_USER` =\u003e `DOLI_DB_USER_FILE`\n* `DOLI_DB_PASSWORD` =\u003e `DOLI_DB_PASSWORD_FILE`\n* `DOLI_ADMIN_LOGIN` =\u003e `DOLI_ADMIN_LOGIN_FILE`\n* `DOLI_ADMIN_PASSWORD` =\u003e `DOLI_ADMIN_PASSWORD_FILE`\n* `DOLI_CRON_KEY` =\u003e `DOLI_CRON_KEY_FILE`\n* `DOLI_CRON_USER` =\u003e `DOLI_CRON_USER_FILE`\n* `DOLI_INSTANCE_UNIQUE_ID` =\u003e `DOLI_INSTANCE_UNIQUE_ID_FILE`\n\n## Add post-deployment and before starting scripts\nIt is possible to execute `*.sh`, `*.sql` and/or `*.php` custom file at the end of deployment or before starting Apache by mounting volumes.\nFor scripts executed during deployment mount volume in `/var/www/scripts/docker-init.d`.\nFor scripts executed before Apache stating mount volume in `/var/www/scripts/before-starting.d`.\n```\n\\docker-init.d\n|- custom_script.sql\n|- custom_script.php\n|- custom_script.sh\n```\n\nMount the volumes with compose file : \n```yaml\nservices:\n    mariadb:\n        image: mariadb:latest\n        environment:\n            MYSQL_ROOT_PASSWORD: root\n            MYSQL_DATABASE: dolibarr\n\n    web:\n        image: tuxgasy/dolibarr\n        environment:\n            DOLI_DB_HOST: mariadb\n            DOLI_DB_USER: root\n            DOLI_DB_PASSWORD: root\n            DOLI_DB_NAME: dolibarr\n            DOLI_URL_ROOT: 'http://0.0.0.0'\n            PHP_INI_DATE_TIMEZONE: 'Europe/Paris'\n        volumes :\n          - volume-scripts:/var/www/scripts/docker-init.d\n          - before-starting-scripts:/var/www/scripts/before-starting.d\n        ports:\n            - \"80:80\"\n        links:\n            - mariadb\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuxgasy%2Fdocker-dolibarr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftuxgasy%2Fdocker-dolibarr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftuxgasy%2Fdocker-dolibarr/lists"}