Browse Source

dolibarr: use a shared volume between app & web, and mount volumes RO in web

Guilhem Saurel 6 years ago
parent
commit
5d9921f6ee
3 changed files with 16 additions and 21 deletions
  1. 7 9
      dolibarr/Dockerfile.fpm
  2. 0 10
      dolibarr/Dockerfile.nginx
  3. 9 2
      dolibarr/docker-compose.yml

+ 7 - 9
dolibarr/Dockerfile.fpm

@@ -1,15 +1,13 @@
-FROM alpine
+FROM php:fpm-alpine
+
+RUN apk --no-cache add postgresql-dev libpng-dev libzip-dev \
+ && docker-php-ext-install gd pgsql zip
 
-ENV DOLI_VERSION 8.0.3
+ENV DOLI_VERSION 8.0.4
 
 RUN wget -q https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.tar.gz \
  && tar xf ${DOLI_VERSION}.tar.gz \
- && mv dolibarr-${DOLI_VERSION}/htdocs . \
+ && mv dolibarr-${DOLI_VERSION}/htdocs/* /var/www/html \
  && rm -rf dolibarr-${DOLI_VERSION} ${DOLI_VERSION}.tar.gz
 
-FROM php:fpm-alpine
-
-RUN apk --no-cache add postgresql-dev libpng-dev \
- && docker-php-ext-install gd pgsql zip
-
-COPY --from=0 htdocs /var/www/html
+VOLUME /var/www/html /var/www/html/conf /var/www/html/documents

+ 0 - 10
dolibarr/Dockerfile.nginx

@@ -1,13 +1,3 @@
-FROM alpine
-
-ENV DOLI_VERSION 8.0.3
-
-RUN wget -q https://github.com/Dolibarr/dolibarr/archive/${DOLI_VERSION}.tar.gz \
- && tar xf ${DOLI_VERSION}.tar.gz \
- && mv dolibarr-${DOLI_VERSION}/htdocs . \
- && rm -rf dolibarr-${DOLI_VERSION} ${DOLI_VERSION}.tar.gz
-
 FROM nginx:alpine
 
-COPY --from=0 htdocs /var/www/html
 ADD nginx.conf /etc/nginx/conf.d/default.conf

+ 9 - 2
dolibarr/docker-compose.yml

@@ -4,6 +4,9 @@ networks:
   web:
     external: true
 
+volumes:
+  data:
+
 services:
   postgres:
     image: postgres:10-alpine
@@ -21,6 +24,7 @@ services:
     env_file:
       - .env
     volumes:
+      - data:/var/www/html
       - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/conf:/var/www/html/conf
       - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/documents:/var/www/html/documents
 
@@ -28,6 +32,8 @@ services:
     build:
       context: .
       dockerfile: Dockerfile.nginx
+    depends_on:
+      - app
     labels:
       traefik.enable: "true"
       traefik.frontend.rule: "Host: dolibarr.${CHATONS_DOMAIN:-localhost}, www.dolibarr.${CHATONS_DOMAIN:-localhost}"
@@ -35,5 +41,6 @@ services:
       - web
       - default
     volumes:
-      - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/conf:/var/www/html/conf
-      - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/documents:/var/www/html/documents
+      - data:/var/www/html:ro
+      - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/conf:/var/www/html/conf:ro
+      - ${CHATONS_ROOT_DIR:-/srv/chatons}/dolibarr/documents:/var/www/html/documents:ro