Small businesses face unique challenges when managing their daily operations. One area where they often look for cost savings is in HR and CRM tools. Open-source solutions offer an alternative that can be tailored to specific needs, reducing costs without sacrificing functionality.

What is Dolibarr?

Dolibarr ERP & CRM is a comprehensive software solution that streamlines various aspects of your organization's operations, including contacts, quotes, invoices, orders, stocks, and more. This modern package offers a wide range of features to support small, medium, and large companies, foundations, and freelancers alike.

As an open-source software suite (developed in PHP with JavaScript enhancements), Dolibarr ERP & CRM allows users to freely use, study, modify, or distribute it according to its license. It can be used as a standalone application or accessed through the web, either directly from the internet or locally via a LAN, making it highly flexible and adaptable to different needs.

Install Dolibarr using Docker

Since the image doesn't include a database, it needs to be linked with a MariaDB container using Docker Compose. Alternatively, MySQL can also be used. To achieve persistent database storage and Dolibarr data files across reboots or upgrades, create three directories on your host: /home/dolibarr_mariadb for the database, /home/dolibarr_documents for Dolibarr document files, and /home/dolibarr_custom for external modules.

mkdir -p /home/dolibarr_mariadb /home/dolibarr_documents /home/dolibarr_custom

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

# 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:
        image: dolibarr/dolibarr:latest
        environment:
            WWW_USER_ID: ${WWW_USER_ID:-1000}
            WWW_GROUP_ID: ${WWW_GROUP_ID:-1000}
            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:-http://0.0.0.0}"
            DOLI_ADMIN_LOGIN: "${DOLI_ADMIN_LOGIN:-admin}"
            DOLI_ADMIN_PASSWORD: "${DOLI_ADMIN_PASSWORD:-admin}"
            DOLI_CRON: ${DOLI_CRON:-0}
            DOLI_INIT_DEMO: ${DOLI_INIT_DEMO:-0}
            DOLI_COMPANY_NAME: ${DOLI_COMPANY_NAME:-MyBigCompany}

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

To bring up all services, including running them in the background, use the following command:

sudo docker-compose up -d

If you encounter issues with docker-compose, you can also use docker compose as an alternative.

To verify that the web and mariadb containers are up and running, check their status with:

sudo docker-compose ps

Viewing the logs for each container to ensure everything started successfully:

sudo docker-compose logs

Once you see a log indicating that Dolibarr has started and is ready, access your new installation at http://0.0.0.0. For security reasons, the first admin login is still set to admin with no password, but this value can be changed in the original Docker Compose configuration file (docker-compose.yml).

If your host's port 80 is already taken by another application, you may need to redirect Dolibarr to a free available port (e.g., xx) during startup. Then access the new installation at http://0.0.0.0:xx.

Final Notes and Thoughts

I've found that Dolibarr can be a bit sluggish at times, especially when handling large datasets or running multiple reports simultaneously. However, overall it's a reliable and functional CRM system that should meet the needs of most small businesses looking for an open-source solution.

Dolibarr has good documentation on their wiki, which is a great resource to turn to if you need help. The company also maintains a plugin store where you can find useful add-ons at reasonable prices.