This guide explains how to deploy Dolibarr, a modern ERP and CRM software package, on a Dokku host. Dokku is a lightweight PaaS that simplifies deploying and managing applications using Docker.
Before proceeding, ensure you have the following:
- A working Dokku host.
- The MariaDB plugin for database support.
- (Optional) The Let's Encrypt plugin for SSL certificates.
Log into your Dokku host and create the dolibarr app:
dokku apps:create dolibarrInstall, create, and link the MariaDB plugin to the app:
# Install MariaDB plugin
dokku plugin:install https://github.com/dokku/dokku-mariadb.git mariadb
# Create a MariaDB instance
dokku mariadb:create dolibarr
# Link the database to the app
dokku mariadb:link dolibarr dolibarrTo persist uploaded data between restarts, create folders on the host machine and mount them to the app container:
# Documents directory
dokku storage:ensure-directory dolibarr-documents --chown false
dokku storage:mount dolibarr /var/lib/dokku/data/storage/dolibarr-documents:/var/www/documents
# Custom directory
dokku storage:ensure-directory dolibarr-custom --chown false
dokku storage:mount dolibarr /var/lib/dokku/data/storage/dolibarr-custom:/var/www/html/customSet the domain for your app to enable routing:
dokku domains:set dolibarr dolibarr.example.comMap the internal port 80 to the external port 80:
dokku ports:set grafana http:80:80You can deploy the app to your Dokku server using one of the following methods:
If your repository is hosted on a remote Git server with an HTTPS URL, you can deploy the app directly to your Dokku server using dokku git:sync. This method also triggers a build process automatically. Run the following command:
dokku git:sync --build dolibarr https://github.com/d1ceward-on-dokku/dolibarr_on_dokku.gitIf you prefer to work with the repository locally, you can clone it to your machine and push it to your Dokku server manually:
-
Clone the repository:
# Via SSH git clone git@github.com:d1ceward-on-dokku/dolibarr_on_dokku.git # Via HTTPS git clone https://github.com/d1ceward-on-dokku/dolibarr_on_dokku.git
-
Add your Dokku server as a Git remote:
git remote add dokku dokku@example.com:dolibarr
-
Push the app to your Dokku server:
git push dokku master
Choose the method that best suits your workflow.
Secure your app with an SSL certificate from Let's Encrypt:
-
Add the HTTPS port:
dokku ports:add grafana https:443:9000
-
Install the Let's Encrypt plugin:
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
-
Set the contact email for Let's Encrypt:
dokku letsencrypt:set dolibarr email you@example.com
-
Enable Let's Encrypt for the app:
dokku letsencrypt:enable dolibarr
Congratulations! Your Dolibarr instance is now up and running. You can access it at https://dolibarr.example.com.
Happy managing!
