5 Commits

Author SHA1 Message Date
bced705c8a update README 2025-06-07 13:01:33 +02:00
ee0d6c63a5 breeze init script 2025-06-07 12:08:54 +02:00
286d74e24b remove gitignore 2025-06-07 12:08:45 +02:00
563a16256c better docker scripts 2025-06-07 11:31:30 +02:00
68a81195e6 remove unused port 2025-06-07 11:31:11 +02:00
9 changed files with 101 additions and 14 deletions

1
.gitignore vendored
View File

@@ -1 +0,0 @@
sqldata

35
Makefile Normal file
View File

@@ -0,0 +1,35 @@
DOCKER_CONTAINER_NAME=isi2-laravel-1
DOCKER_CMD=docker exec -it $(DOCKER_CONTAINER_NAME)
# Launch the container detached
all:
docker compose up -d
# Launch the container
run:
docker compose up
# Stop the container
stop:
docker compose down
# Stop the container and wipe the database
down:
docker compose down -v
# These tasks need the docker container to be running
exec_container:
$(DOCKER_CMD) bash
seed:
$(DOCKER_CMD) php artisan db:seed --class=$(CLASS)
migrate:
$(DOCKER_CMD) php artisan migrate
init_breeze:
$(DOCKER_CMD) php artisan breeze:install --dark blade

View File

@@ -1,10 +1,50 @@
# Laravel Docker # Projet ISI2
## Commandes
Pour lancer les conteneurs : Pour lancer les conteneurs :
```sh ```sh
docker compose up make run
``` ```
Arrêter les conteneurs :
```sh
make stop
```
Effectuer les migrations :
```sh
make migrate
```
Exécuter un seeder :
```sh
make CLASS="VOTRESEEDER" seed
```
Installer Breeze (Attention ! Vos routes seront écrasées !):
```sh
make init_breeze
```
Ouvrir un terminal dans le conteneur laravel :
```sh
make exec_container
```
## Routes
- `/billets` : affiche la liste des billets
- `/billets/{id}` : affiche un billet
## Instructions
Les données de la base de données persistent dans le volume docker `laravel_db_volume` Les données de la base de données persistent dans le volume docker `laravel_db_volume`
Les fichiers Laravel sont ensuite disponibles dans le dossier `laravel` Les fichiers Laravel sont ensuite disponibles dans le dossier `laravel`

View File

@@ -17,7 +17,6 @@ services:
dockerfile: Laravel_Dockerfile dockerfile: Laravel_Dockerfile
ports: ports:
- "8080:8000" - "8080:8000"
- "8001:8001"
environment: environment:
LARAVEL_DATABASE_USER: laravel_user LARAVEL_DATABASE_USER: laravel_user
LARAVEL_DATABASE_PASSWORD: super_strong_password LARAVEL_DATABASE_PASSWORD: super_strong_password

7
images/.env Normal file
View File

@@ -0,0 +1,7 @@
DB_CONNECTION=mariadb
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=laravel_db
DB_USERNAME=laravel_user
DB_PASSWORD=super_strong_password
APP_KEY=""

View File

@@ -4,4 +4,9 @@ RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | ba
RUN . ~/.nvm/nvm.sh && nvm install --lts RUN . ~/.nvm/nvm.sh && nvm install --lts
RUN composer require laravel/breeze --dev COPY init_laravel.sh /init/init_laravel.sh
COPY .env /init/.env
RUN chmod +x /init/init_laravel.sh
CMD bash /init/init_laravel.sh

View File

@@ -1,3 +0,0 @@
composer require laravel/breeze --dev
php artisan breeze:install blade
php artisan migrate

11
images/init_laravel.sh Normal file
View File

@@ -0,0 +1,11 @@
#!/bin/sh
composer install
# Create .env if it does not exist
if ! [ -e ".env" ] ; then
cp /init/.env .
php artisan key:generate
fi
php artisan migrate --force
php artisan serve --host=0.0.0.0 --port=8000

6
package-lock.json generated
View File

@@ -1,6 +0,0 @@
{
"name": "isi2",
"lockfileVersion": 3,
"requires": true,
"packages": {}
}