Skip to content
Snippets Groups Projects
Commit 04b56846 authored by Nicolas Borboën's avatar Nicolas Borboën
Browse files

[feature] all apps in on docker-compose

plus some minor fixes
parent 1ee829ab
No related branches found
No related tags found
No related merge requests found
# https://docs.docker.com/engine/reference/builder/#dockerignore-file
Documentation
data
#data
.git
.idea
......@@ -17,5 +17,7 @@ QUEUE_DRIVER=sync
JWT_SECRET=CHANGEMEruPigh9cui2eighahd2luu0di
TEQUILA_REQUIRE_PARAMS='group=canap-gest-users'
TEQUILA_RETURN_URL='https://canap-gest.epfl.ch/#/?key='
# Docker TEQUILA_RETURN_URL='http://localhost:8080/#/?key='
# Prod TEQUILA_RETURN_URL='https://canap-gest.epfl.ch/#/?key='
TEQUILA_RETURN_URL='http://localhost:8080/#/?key='
BYPASS_RESPONSIBLE_SCIPER=''
......@@ -61,7 +61,7 @@ class AuthController extends Controller
array(
'request' => "name,firstname,uniqueid,group",
//'require' => "group=canap-gest-users"
'require' => env('DB_USERNAME', 'group=canap-gest-users')
'require' => env('TEQUILA_REQUIRE_PARAMS', 'group=canap-gest-users')
)
);
......@@ -85,7 +85,7 @@ class AuthController extends Controller
// return redirect()->to("https://canap-gest-dev.local:8080/#/?key=" . $_GET["key"]);
// return redirect()->to("https://canap-gest.epfl.ch/#/?key=" . $_GET["key"]); // PROD
// return redirect()->to("http://localhost:8080/#/?key=" . $_GET["key"]); // DEV
return redirect()->to(env('DB_USERNAME', 'group=canap-gest-users') . $_GET["key"]); // DEV
return redirect()->to(env('TEQUILA_RETURN_URL', 'https://canap-gest.epfl.ch/#/?key=') . $_GET["key"]);
}
public function logout()
......
This diff is collapsed.
version: '3'
services:
# The DB of the application
db:
image: mysql:5.7
container_name: canap_db
environment:
MYSQL_ROOT_PASSWORD: canap_db
MYSQL_DATABASE: canap_db
MYSQL_USER: canap_db
MYSQL_PASSWORD: canap_db
#command: mysqld --general-log=1 --general-log-file=/var/log/mysql/general-log.log
volumes:
- ../data/DB/init-sql:/docker-entrypoint-initdb.d
- ../data/DB/canap_db:/var/lib/mysql
ports:
- "9906:3306"
expose:
- 9906
# The form for the applicants
form:
build:
context: ./
dockerfile: Dockerfile-form.dockerfile
container_name: canap_form
depends_on:
- db
volumes:
- ../Formulaire:/var/www/html/
- ../data/candidatures:/var/www/html/data/candidatures/
ports:
- "8180:80"
# The API for the management app
api:
build:
context: ./
dockerfile: Dockerfile-api.dockerfile
container_name: canap_api
volumes:
- ../API:/var/www/html/
ports:
- "8181:80"
# The management app
gest:
image: node:15-alpine
container_name: canap_gest
user: node
working_dir: /home/node/app
depends_on:
- api
environment:
- NODE_ENV=development #production
volumes:
- ../Gestion:/home/node/app
ports:
- "8080:8080"
entrypoint: /bin/sh
command:
- "-c"
- npm i && npm run serve-docker
# networks:
# default:
# external:
# name: canap_network
# CanAp — Candidature Apprentis
Ce projet regroupe les différentes parties du site des candidatures des apprentis à l'EPFL, à savoir :
- canapEPFL → formulaire de postulation
- canapGEST/Site → site de management des postulations (pour formateurs et admin)
- canapGEST/API → API pour le site de management
Ce projet regroupe les différentes parties du site des candidatures des apprentis.
Il est organisé de la manière suivante :
- API → API pour le site de management
- data → Pour le stockage local (scripts d'initialisation SQL, volumes Docker et fichiers de candidatures)
- Docker → Les fichiers relatifs à l'utilisation de Docker
- Documentation → Documentation et TPI de Nicolas Crausaz
- Formulaire → Formulaire de postulation
- Gestion → Site de management des postulations (pour formateurs et admin)
## Pour le développement avec Docker
### Mise en place
Après avoir cloné le repo, installez les dépendances :
- `docker exec -it canap_gest sh -c 'npm i --no-funding'`
- `docker exec -it canap_api bash -c 'composer update && composer install'`
Il faut ensuite créer les fichiers de configuration :
- Copiez `Formulaire/configs/config.template.php` vers `Formulaire/configs/config.php`
- Copiez `API/.env.exemple` vers `API/.env`
et modifiez les entrées de ces fichiers selon vos besoins.
Vous pouvez ensuite déployer les applications avec
`docker-compose -f Docker/docker-compose-dev.yml up`
Rendez-vous sur
- http://localhost:8180 pour le formulaire d'application
- http://localhost:8080 pour l'application de gestion
- http://localhost:8181 pour l'API
## Historique
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment