No Description

Bachir Soussi Chiadmi 8769b61f82 minors updates 3 years ago
Docker f697afe63a docker ready for api (no app yet) 3 years ago
api @ f0966cea3f 8769b61f82 minors updates 3 years ago
app @ 6636ca21c2 f697afe63a docker ready for api (no app yet) 3 years ago
bin 8769b61f82 minors updates 3 years ago
.env f697afe63a docker ready for api (no app yet) 3 years ago
.gitignore f697afe63a docker ready for api (no app yet) 3 years ago
.gitmodules f697afe63a docker ready for api (no app yet) 3 years ago
LICENSE.txt 97df594616 docker env first draft 3 years ago
Makefile f697afe63a docker ready for api (no app yet) 3 years ago
README.md f697afe63a docker ready for api (no app yet) 3 years ago
docker-compose.yml 8769b61f82 minors updates 3 years ago

README.md

En françaiS Docker Environement (drupal api + vuejs client)

En FrançaiS powered by druapl 8 for the api and vuejs for the client in docker environement (nginx, php:7-fpm+drush, phpmyadmin, redis, npm)

Install docker

sudo pacman -S docker docker-compose docker-machine

Clone this repos

this will clone this repos (main docker environement) and the edlp drupal 8 source code (without sites/default folder)

git clone --recursive -o figli https://figureslibres.io/gogs/bachir/docker-materio-d8.git

setup /sites/default/settings.php


### get the sites/default/files folder
get the files from where you have it and rsync it to api/web/sites/default/files/

## Mysql
Copy your-sql-dump.sql into ./ressources/enfrancais.sql
It will be automaticly imported into the mysql container db (only) on the first docker-compose up

## Hosts and reverse proxy

add to your /etc/hosts :

127.0.0.1 dev.enfrancais.fr 127.0.0.1 dev.phpmyadmin.enfrancais.fr

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:8990/ ProxyPassReverse / http://127.0.0.1:8990/ ProxyRequests Off ProxyPreserveHost On proxy_buffer_size 128k; proxy_buffers 4 256k; proxy_busy_buffers_size 256k;

ServerName dev.phpmyadmin.enfrancais.fr ProxyPass / http://127.0.0.1:8991/ ProxyPassReverse / http://127.0.0.1:8991/ ProxyRequests Off ProxyPreserveHost On proxy_buffer_size 128k; proxy_buffers 4 256k; 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)

make build

### run
then each time you want to launch the app

make up

Be aware that a first up, since the db is empty, it will be populated with your file db.sql. It may take some time depending of your db size.

## Druapal Composer install
Only at first up, finish to install drupal composer dependencies

make exec_php composer install


## Visualize
You can now visit http://dev.enfrancais.fr on your browser

## Coding
### drush
you can access to drush by loging into the php container

make exec_php

once inside the php container in /var/www/html you can use drush as usual

## updateding manualy mysql db
copy your db backup into the mysql container

sudo docker cp your-db-file.sql enfrancais_mysql_1:/root/

log into mysql container

make exec_mysql

once inside the mysql container you can use mysql command to drop then create and load the db with your file

## Makefile

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)

buildnc:
		docker-compose build --no-cache --build-arg USER_UID=$(USER_UID) --build-arg USER_UNAME=$(USER_UNAME) --build-arg USER_GID=$(USER_GID) --build-arg USER_GNAME=$(USER_GNAME)

up:
		docker-compose up -d

upbuild:
		docker-compose up -d --build

ps:
		docker-compose ps

logs:
		docker-compose logs -f

down:
		docker-compose down

exec_php:
		docker exec -it materiod8_php_1 bash

exec_npm:
		docker exec -it materiod8_npm_1 sh

exec_mysql:
		docker exec -it materiod8_mysql_1 bash