Dolibarr is a free, open source, self hosted ERP (Enterprise Resource Planning) and CRM (Client Relationship Management) system. I have covered ERPNext in the past, and people seem to be interested in it, so I wanted to provide information on how to install another ERP / CRM system.
My caveat is this: I do not know much about ERP or CRM as a software suite. I am not an ERP or CRM expoert. I am making this video, so those of you whoa re interested, can get Dolibarr ERP installed and running to test it out and see if you are interested.
Dolibarr has a lot of documentation out there if you have questions about how to do things. They also have a support option and hosted options if you would prefer to pay Dolibarr to help you run the system, and take some of the load off of your infratstructure.
What you'll need:
- Docker-CE installed and running
- Docker-Compose installed and running
- NGinX Proxy Manager installed and Running
- About an Hour of time
Installing Docker-CE and Docker-Compose
I have several script sfor various Linux distros on my github page. If you'd like to use one of these scripts, I highly recommend it.
Just do a git pull, or click on the version you want, and highlight the entire script code.
Now on your server where you'll run Dolibarr, create a new file called
Now pasted the contents into this file (for Linux you can use CTRL + Shift + V to paste).
Save the file with CTRL + O, then Enter, and exit nano with CTRL + X.
Now change the file permissions to make it executable.
chmod +x docker-install.sh
Now you can run the script with the command
Allow the script to finish. Once complete, you can log out and back in, or reboot the server. This will allow your user to run docker commands without having to use the
sudo keyword each time.
Install NGinX Proxy Manager
I have covered this on several other videos and posts, so I'll link the post here if you need to install this application.
Install Dolibarr using Docker-Compose
In your server create a new folder called 'dolibarr'.
Now cd into that directory.
In this directory, create a docker-compose.yml file.
Inside this file, we need to paste the following yml code:
version: "3" services: mariadb: image: mariadb:latest environment: MYSQL_USER: dolibarr MYSQL_PASSWORD: Sup3rS3cre7Pa55w0rd1 MYSQL_ROOT_PASSWORD: Sup3rS3cre7Pa55w0rd1 MYSQL_DATABASE: dolibarr restart: unless-stopped volumes: - ./data/db:/var/lib/mysql:rw web: image: tuxgasy/dolibarr restart: unless-stopped environment: DOLI_DB_HOST: mariadb DOLI_DB_USER: dolibarr DOLI_DB_PASSWORD: Sup3rS3cre7Pa55w0rd1 DOLI_DB_NAME: dolibarr DOLI_ADMIN_LOGIN: "doli-admin" DOLI_ADMIN_PASSWORD: "doli-Admin-01" DOLI_URL_ROOT: 'http://doli.your-amazing-domain.com' PHP_INI_DATE_TIMEZONE: 'America/Chicago' ports: - "8819:80" links: - mariadb
Paste the code into the file with CTRL + Shift + V.
Make sure to change the "Sup3rS3cre7Pa55w0rd1" to a strong password tto protect your database and system. Also make sure to change the domain / DOLI_URL_ROOT to the name and domain you want to run at. change the DOLI_ADMIN_LOGIN and DOLI_ADMIN_PASSWORKD values to any values you want, but make the password a strong password as well.
Finally, you can change the port on the left side to any free port on your host machine.
Now, you can run the command
docker-compose up -d
to start pulling down Dolibarr and MariaDB and get it running.
NOTE: Be patient, as this first run will take some time. Even after it says "Done" in the terminal, wait another 10 to 15 minutes for the Instance to be fully ready.
At that time, you can navigate to your server host IP address and the port you set on the left side in the docker-compose file to make sure you get the login screen for Dolibarr.
I went to my domain name, and used an A record in my domains DNS to point the name doli.opensourceisawesome.com to that IP address. If you have done the same feel free to use this method as well.
In my case I went to
Setup a Reverse Proxy for NGinX Proxy Manager
If you followed the tutorialto setup NGinX Proxy Manager (NPM from here on) then we are ready to get our Dolibarr install setup to use LetsEncrypt SSL certificates so we have an encrypted ans secured connection to the ERP system.
In NPM go to the Hosts section and click the button to add a new host.
In the hostname field add the domain / subdomain you have chosen and setup an A record for. In my case I setup doli.opensourceisawesome.com
Next, put the Docker Gateway IP into the IP address filed. You can find this from the docker CLI with
docker network list
You should see a network with 'dolibarr' in the name.
Now use the command
docker network instpect <the name of your dolibarr network>
Find the gateway IP address, and make note of it or copy it.
Now put that into the IP address field.
Finally, put in the port you added on the left side of your entry in the docker-compose file.
Tick the options to enable Asset Caching, and Block Common Ex[ploits.
You should see your new entry listed in NPM. You can click the domian name, and it should opena newtab and navigate to your dolibarr login page.
If you get the login page, Excellent! Now we'll go and edit our entry by clicking the vertical 3 dot icon on the right end of the NPM line for our Dolibarr entry, and select 'Edit'.
In the pop-up window, select the SSL tab, and from the drop down select "Request a New Certifiate".
Enable 'Force SSL', then enter your email address if it's not already filled, and select the option to agree to the LetsEncryp Terms of Service.
As long as the pop-up closes with no errors after about 20 seconds to 1 minute, you should be set.
Click the URL in the list again, and you should see it open in a new tab or window. You should now see the SSL lock icon in the address bar, and the site URL should have https.
Now you'll be able to log into Dolibarr, and start managing your ERP / CRM site with SSL encrypted connections.
You can keepe a backup fo the database, by copying the "dolibarr" directory we created to external media or servers. You may need to use "sudo" in order to perform these copy functions.