diff --git a/.env b/.env index 9021789..597724b 100644 --- a/.env +++ b/.env @@ -1,7 +1,7 @@ COMPOSE_PROJECT_NAME=enfrancais API_ROOT=./api -CLIENT_ROOT=./client +APP_ROOT=./app LOG_ROOT=./log DB_IMPORTE_FILE=./ressources/enfrancais.sql diff --git a/.gitignore b/.gitignore index 83278aa..0ec903a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ -public_html/* -public_html_legacy/* -drupal7/* +app/* +api/* log/* *.sql -bin/syncfiles.sh -solr_cores/* diff --git a/.gitmodules b/.gitmodules index 57d5079..7d8a933 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,6 @@ -[submodule "public_html_legacy"] - path = public_html_legacy - url = https://figureslibres.io/gogs/bachir/materio-base-d7.git -[submodule "public_html"] - path = public_html - url = https://figureslibres.io/gogs/bachir/materio-d8.git -[submodule "solr_cores"] - path = solr_cores - url = https://figureslibres.io/gogs/bachir/solr-materio-d8.git +[submodule "api"] + path = api + url = https://figureslibres.io/gogs/bachir/D9-enfrancais.git +[submodule "app"] + path = app + url = https://figureslibres.io/gogs/bachir/enfrancais-app.git diff --git a/Docker/npm/Dockerfile b/Docker/app/Dockerfile similarity index 100% rename from Docker/npm/Dockerfile rename to Docker/app/Dockerfile diff --git a/Docker/npm/bashrc b/Docker/app/bashrc similarity index 100% rename from Docker/npm/bashrc rename to Docker/app/bashrc diff --git a/Docker/app/client-entrypoint.sh b/Docker/app/client-entrypoint.sh new file mode 100644 index 0000000..0be4723 --- /dev/null +++ b/Docker/app/client-entrypoint.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +cat /etc/passwd|grep 1000 + +cd /app + +echo "Cleaning node_modules" +rm -rf node_modules + +echo "Cleaning npm cache" +npm cache clean --f + +echo "Npm install" +npm install + +# echo "Run npm dev" +# npm run dev +echo "APP_ENV $APP_ENV" + +if [ "$APP_ENV" = "prod" ]; then + echo "Run npm prod" + npm run prod +else + echo "Run npm dev" + npm run dev +fi diff --git a/Docker/npm/inputrc b/Docker/app/inputrc similarity index 100% rename from Docker/npm/inputrc rename to Docker/app/inputrc diff --git a/Docker/nginx/default.conf b/Docker/nginx/default.conf index da28a18..0bfb1ac 100644 --- a/Docker/nginx/default.conf +++ b/Docker/nginx/default.conf @@ -1,8 +1,8 @@ server { listen 80 default_server; - root /var/www/html/d8.materio.com/public_html/web; + root /var/www/html/api/src/web; index index.html index.php; - server_name *.materio.com; + server_name *.enfrancais.fr; charset utf-8; diff --git a/Docker/npm/client-entrypoint.sh b/Docker/npm/client-entrypoint.sh deleted file mode 100644 index 3748233..0000000 --- a/Docker/npm/client-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# cat /etc/passwd|grep 1000 -cd /app - -echo "Cleaning node_modules" -rm -rf node_modules - -echo "Cleaning npm cache" -npm cache clean --f - -echo "Npm install" -npm install - -echo "Run npm dev" -npm run dev diff --git a/Makefile b/Makefile index f6cc109..05838e5 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,9 @@ export USER_UNAME export USER_GID export USER_GNAME +pull: + docker-compose pull + build: docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) @@ -36,8 +39,8 @@ down: exec_php: docker exec -it enfrancais_php_1 bash -exec_npm: - docker exec -it enfrancais_npm_1 sh +exec_app: + docker exec -it enfrancais_app_1 sh exec_mysql: docker exec -it enfrancais_mysql_1 bash diff --git a/README.md b/README.md index 843fd7c..febea7a 100644 --- a/README.md +++ b/README.md @@ -33,12 +33,13 @@ add to your /etc/hosts : 127.0.0.1 dev.enfrancais.fr 127.0.0.1 dev.phpmyadmin.enfrancais.fr ``` -configure your apache vhosts to add a reverse proxy that will redirect the dev.enfrancais.fr to our container +configure your vhosts to add a reverse proxy that will redirect the dev.enfrancais.fr to our container +Apache ``` ServerName dev.enfrancais.fr - ProxyPass / http://127.0.0.1:8880/ - ProxyPassReverse / http://127.0.0.1:8880/ + ProxyPass / http://127.0.0.1:8990/ + ProxyPassReverse / http://127.0.0.1:8990/ ProxyRequests Off ProxyPreserveHost On proxy_buffer_size 128k; @@ -49,8 +50,8 @@ configure your apache vhosts to add a reverse proxy that will redirect the dev.e ``` ServerName dev.phpmyadmin.enfrancais.fr - ProxyPass / http://127.0.0.1:8881/ - ProxyPassReverse / http://127.0.0.1:8881/ + ProxyPass / http://127.0.0.1:8991/ + ProxyPassReverse / http://127.0.0.1:8991/ ProxyRequests Off ProxyPreserveHost On proxy_buffer_size 128k; @@ -58,8 +59,53 @@ configure your apache vhosts to add a reverse proxy that will redirect the dev.e proxy_busy_buffers_size 256k; ``` +nginx +``` +server { + listen 80; + server_name dev.enfrancais.fr; + + access_log off; + error_log /var/log/nginx/enfrancais/error.log error; + + client_max_body_size 100m; + + location / { + proxy_pass http://127.0.0.1:8990; + 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; + proxy_buffer_size 128k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + } + } + server { + listen 80; + server_name dev.phpmyadmin.enfrancais.com; + + location / { + proxy_pass http://127.0.0.1:8991; + 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; + proxy_buffer_size 128k; + proxy_buffers 4 256k; + proxy_busy_buffers_size 256k; + } + } +``` + ## Docker +### docker-compose pull +pull the latest image of services +``` +make pull +``` + ### build only before the first run (may take some time) ``` @@ -107,6 +153,9 @@ do not use directly docker or docker-compose to run this instance use make instead like ```make up``` ```makefile +pull: + docker-compose pull + build: docker-compose build --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME) diff --git a/api b/api new file mode 160000 index 0000000..0e3daa3 --- /dev/null +++ b/api @@ -0,0 +1 @@ +Subproject commit 0e3daa3c49a2c6e7ccc5802524c41006e09f2273 diff --git a/app b/app new file mode 160000 index 0000000..6636ca2 --- /dev/null +++ b/app @@ -0,0 +1 @@ +Subproject commit 6636ca21c2236415a24b62f8ef54083bc7cca86d diff --git a/docker-compose.yml b/docker-compose.yml index 8f5e223..db05edf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -version: "3.5" +version: "3.8" services: mysql: @@ -7,7 +7,7 @@ services: - db-data:/var/lib/mysql - ./Docker/mysql/mysql.cnf:/etc/mysql/conf.d/custom.cnf:ro - ./Docker/mysql/bashrc:/root/.bashrc:ro - - "${DB_IMPORTE_FILE_D8}:/docker-entrypoint-initdb.d/enfrancais.sql" + - "${DB_IMPORTE_FILE}:/docker-entrypoint-initdb.d/enfrancais.sql" networks: - database hostname: mysql @@ -34,63 +34,60 @@ services: user: ${USER_UID}:${USER_GID} volumes: - php-user-data:/home/${USER_UNAME} - - "${PROJECT_ROOT}:/var/www/html/d8.materio.com/public_html" - - "${LEGACY_ROOT}:/var/www/html/d7.materio.com/public_html" + - "${API_ROOT}:/var/www/html/api" - "${LOG_ROOT}/php:/var/log:rw" - working_dir: "/var/www/html/d8.materio.com/public_html" + working_dir: "/var/www/html/api" networks: - database - redis - server - - solr depends_on: - mysql - - mysql-legacy - redis - - solr-new phpmyadmin: image: phpmyadmin/phpmyadmin ports: - - 8891:80 + - 8991:80 networks: - database depends_on: - mysql - - mysql-legacy environment: PMA_HOSTS: mysql,mysql-legacy nginx: build: ./Docker/nginx/ ports: - - 8890:80 + - 8990:80 volumes: - - "${PROJECT_ROOT}:/var/www/html/d8.materio.com/public_html" - - "${LEGACY_ROOT}:/var/www/html/d7.materio.com/public_html" + - "${API_ROOT}:/var/www/html/api" + - "${APP_ROOT}:/var/www/html/app" - "${LOG_ROOT}:/var/log:rw" - working_dir: "/var/www/html/d8.materio.com/public_html" + working_dir: "/var/www/html/api/" networks: - server - - solr depends_on: - php - npm: - build: ./Docker/npm - user: ${USER_UID}:${USER_GID} - volumes: - - "${PROJECT_ROOT}:/app" - - npm-user-data:/home/${USER_UNAME} - ports: - - 8788:8788 - working_dir: "/app" + # app: + # build: ./Docker/app + # user: ${USER_UID}:${USER_GID} + # volumes: + # - "${APP_ROOT}:/app" + # - npm-user-data:/home/${USER_UNAME} + # ports: + # - 8988:8988 + # working_dir: "/app" + # environment: + # - APP_ENV=dev + volumes: php-user-data: db-data: redis-data: - npm-user-data: + # npm-user-data: networks: database: