I have a Dolibarr instance running inside Docker, with Nginx as a reverse proxy on the host. Here’s my setup:
docker-compose.yml
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}
restart: always
volumes:
- ./dolibarr_mariadb:/var/lib/mysql
web:
# Choose the version of image to install
# dolibarr/dolibarr:latest (the latest stable version)
# dolibarr/dolibarr:develop
# dolibarr/dolibarr:x.y.z
image: dolibarr/dolibarr:latest
environment:
DOLI_INIT_DEMO: ${DOLI_INIT_DEMO:-0}
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_CRON_KEY: ${DOLI_CRON_KEY:-mycronsecurekey}
DOLI_COMPANY_NAME: ${DOLI_COMPANY_NAME:-MyBigCompany}
WWW_USER_ID: ${WWW_USER_ID:-1000}
WWW_GROUP_ID: ${WWW_GROUP_ID:-1000}
ports:
- "127.0.0.1:8000:80"
links:
- mariadb
volumes:
- ./dolibarr_documents:/var/www/documents
- ./dolibarr_custom:/var/www/html/custom
- ./dolibarr_php:/usr/local/etc/php
restart: always
php.ini inside Dolibarr container:
; https://php.net/upload-max-filesize
upload_max_filesize = 20M
; Maximum number of files that can be uploaded via a single request
max_file_uploads = 20
Nginx config on the host:
server {
listen 80;
server_name dolibarr.local;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl;
server_name dolibarr.local;
ssl_certificate /etc/nginx/certs/dolibarr.local.crt;
ssl_certificate_key /etc/nginx/certs/dolibarr.local.key;
client_max_body_size 20M;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
I am trying to upload files larger than the default limit, but it doesn’t work. I checked Nginx logs and the Dolibarr Docker logs, but nothing appears related to the issue.