FROM debian/buster-slim # Install the packages we need # Install the PHP extensions we need # see https://wiki.dolibarr.org/index.php/Dependencies_and_external_libraries # Prepare folders ENV DEBIAN_FRONTEND noninteractive RUN sed -i 's@deb.debian.org@apt-cache.lan/deb.debian.org@g' /etc/apt/sources.list && \ sed -i 's@security.debian.org@apt-cache.lan/security.debian.org@g' /etc/apt/sources.list RUN set -ex; \ apt-get update -q; \ apt-get install -y --no-install-recommends \ php-fpm \ bzip2 \ default-mysql-client \ cron \ rsync \ sendmail \ unzip \ zip \ ; \ apt-get install -y --no-install-recommends \ g++ \ libcurl4-openssl-dev \ libfreetype6-dev \ libicu-dev \ libjpeg-dev \ libldap2-dev \ libmagickcore-dev \ libmagickwand-dev \ libmcrypt-dev \ libpng-dev \ libpq-dev \ libxml2-dev \ libzip-dev \ unzip \ zlib1g-dev \ ; \ debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \ docker-php-ext-configure ldap --with-libdir="lib/$debMultiarch"; \ docker-php-ext-configure gd --with-freetype-dir=/usr --with-png-dir=/usr --with-jpeg-dir=/usr; \ docker-php-ext-configure intl; \ docker-php-ext-configure zip --with-libzip; \ docker-php-ext-install -j "$(nproc)" \ calendar \ gd \ intl \ ldap \ mbstring \ mysqli \ pdo \ pdo_mysql \ pdo_pgsql \ pgsql \ soap \ zip \ ; \ pecl install imagick; \ docker-php-ext-enable imagick; \ rm -rf /var/lib/apt/lists/*; \ mkdir -p /var/www/documents; \ chown -R www-data:root /var/www; \ chmod -R g=u /var/www VOLUME /var/www/html /var/www/documents /var/www/scripts # Runtime env var ENV DOLI_AUTO_CONFIGURE=1 \ DOLI_DB_TYPE=mysqli \ DOLI_DB_HOST= \ DOLI_DB_PORT=3306 \ DOLI_DB_USER=dolibarr \ DOLI_DB_PASSWORD='' \ DOLI_DB_NAME=dolibarr \ DOLI_DB_PREFIX=llx_ \ DOLI_DB_CHARACTER_SET=utf8 \ DOLI_DB_COLLATION=utf8_unicode_ci \ DOLI_DB_ROOT_LOGIN='' \ DOLI_DB_ROOT_PASSWORD='' \ DOLI_ADMIN_LOGIN=admin \ DOLI_MODULES='' \ DOLI_URL_ROOT='http://localhost' \ DOLI_AUTH=dolibarr \ DOLI_LDAP_HOST= \ DOLI_LDAP_PORT=389 \ DOLI_LDAP_VERSION=3 \ DOLI_LDAP_SERVERTYPE=openldap \ DOLI_LDAP_LOGIN_ATTRIBUTE=uid \ DOLI_LDAP_DN='' \ DOLI_LDAP_FILTER='' \ DOLI_LDAP_ADMIN_LOGIN='' \ DOLI_LDAP_ADMIN_PASS='' \ DOLI_LDAP_DEBUG=false \ DOLI_HTTPS=0 \ DOLI_PROD=0 \ DOLI_NO_CSRF_CHECK=0 \ WWW_USER_ID=33 \ WWW_GROUP_ID=33 \ PHP_INI_DATE_TIMEZONE='UTC' \ PHP_MEMORY_LIMIT=256M \ PHP_MAX_UPLOAD=20M \ PHP_MAX_EXECUTION_TIME=300 # Build time env var ARG DOLI_VERSION=13.0.4 # Get Dolibarr ADD https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.zip /tmp/dolibarr.zip # Install Dolibarr from tag archive RUN set -ex; \ mkdir -p /tmp/dolibarr; \ unzip -q /tmp/dolibarr.zip -d /tmp/dolibarr; \ rm /tmp/dolibarr.zip; \ mkdir -p /usr/src/dolibarr; \ cp -r "/tmp/dolibarr/dolibarr-${DOLI_VERSION}"/* /usr/src/dolibarr; \ rm -rf /tmp/dolibarr; \ chmod +x /usr/src/dolibarr/scripts/*; \ echo "${DOLI_VERSION}" > /usr/src/dolibarr/.docker-image-version COPY entrypoint.sh / RUN set -ex; \ chmod 755 /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] CMD ["php-fpm"] # Arguments to label built container ARG VCS_REF ARG BUILD_DATE # Container labels (http://label-schema.org/) # Container annotations (https://github.com/opencontainers/image-spec) LABEL maintainer="Monogramm maintainers " \ product="Dolibarr" \ version=${DOLI_VERSION} \ org.label-schema.vcs-ref=${VCS_REF} \ org.label-schema.vcs-url="https://github.com/Monogramm/docker-dolibarr" \ org.label-schema.build-date=${BUILD_DATE} \ org.label-schema.name="Dolibarr" \ org.label-schema.description="Open Source ERP & CRM for Business" \ org.label-schema.url="https://www.dolibarr.org/" \ org.label-schema.vendor="Dolibarr" \ org.label-schema.version=$DOLI_VERSION \ org.label-schema.schema-version="1.0" \ org.opencontainers.image.revision=${VCS_REF} \ org.opencontainers.image.source="https://github.com/Monogramm/docker-dolibarr" \ org.opencontainers.image.created=${BUILD_DATE} \ org.opencontainers.image.title="Dolibarr" \ org.opencontainers.image.description="Open Source ERP & CRM for Business" \ org.opencontainers.image.url="https://www.dolibarr.org/" \ org.opencontainers.image.vendor="Dolibarr" \ org.opencontainers.image.version=${DOLI_VERSION} \ org.opencontainers.image.authors="Monogramm maintainers "