docker ready for api (no app yet)

This commit is contained in:
2020-12-14 10:45:47 +01:00
parent 97df594616
commit f697afe63a
14 changed files with 120 additions and 65 deletions
+1 -1
View File
@@ -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
+2 -5
View File
@@ -1,7 +1,4 @@
public_html/*
public_html_legacy/*
drupal7/*
app/*
api/*
log/*
*.sql
bin/syncfiles.sh
solr_cores/*
+6 -9
View File
@@ -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
+26
View File
@@ -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
+2 -2
View File
@@ -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;
-16
View File
@@ -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
+5 -2
View File
@@ -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
+54 -5
View File
@@ -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
```
<Virtualhost *:80>
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
```
<Virtualhost *:80>
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;
</Virtualhost>
```
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)
Submodule
+1
Submodule api added at 0e3daa3c49
Submodule
+1
Submodule app added at 6636ca21c2
+22 -25
View File
@@ -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: