Files
dolibarr/dev/build/docker-dev

How to use or run Dolibarr with Docker (for a development environment) ?

The docker-compose.yml file is a sample of a config file to use to build and run Dolibarr in the current workspace with Docker. This docker image is intended for development usage. For a production usage you should consider official packages on https://hub.docker.com/r/dolibarr/dolibarr.

Before build/run, define the variable HOST_USER_ID as following:

    export HOST_USER_ID=$(id -u)

Go in repository build/docker :

    cd dev/build/docker

And then, depending on whether you want to run with a MariaDB database or PostgreSQL database, you can run:

    docker compose -f docker-compose.yml -f mariadb.yml up

or

    docker compose -f docker-compose.yml -f postgres.yml up

This will run the following Docker containers : Dolibarr, MariaDB, MailDev. In the case of PostgreSQL, only Dolibarr, MailDev and the PostgreSQL database will be running.

The URL to go to the installed Dolibarr is :

    http://0.0.0.0

In Dolibarr configuration Email let PHP mail function, To see all mail send by Dolibarr go to maildev

    http://0.0.0.0:8081

Setup the database connection during the installation process, please use mariadb or postgres (name of the database container) as database host.

Setup your custom modules

You can setup your own modules from your development folder by using volume mounts and docker compose override. For instance for your module "yourmodule" located in /path/to/your/module_folder, you can edit yourmodule.yml and write:

    ---
    services:
        web:
            volumes:
                - /path/to/your/module_folder:/var/www/html/custom/yourmodule/

This will add your module at runtime inside the dolibarr custom plugins and it will automatically be synced with your development environment.

Then, you can start by extending one of the commands above, for instance for mariadb:

    docker compose -f docker-compose.yml -f postgres.yml -f yourmodule.yml up