diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b343c52 --- /dev/null +++ b/Makefile @@ -0,0 +1,38 @@ +.PHONY: help build up install run stop + +CONTAINER_NAME=php +LARAVEL_DIR=laravel + +help: + @echo "Доступные команды:" + @echo " make build - Собрать образ без кэша" + @echo " make up - Поднять контейнер" + @echo " make install - Установка зависимостей" + @echo " make run - Запуск db:seed и test в контейнере" + @echo " make stop - Остановить контейнер" + +build: + docker compose build --no-cache + +up: + docker compose up -d + +install: up + docker compose exec -T $(CONTAINER_NAME) composer install + + docker compose exec -T $(CONTAINER_NAME) sh -c '\ + if [ ! -f .env ]; then cp .env.example .env; fi && \ + php artisan key:generate && \ + php artisan migrate --force \ + ' + cd $(LARAVEL_DIR) && npm install + cd $(LARAVEL_DIR) && npm run build + +run: + docker compose exec -T $(CONTAINER_NAME) sh -c "\ + php artisan db:seed && \ + php artisan test \ + " + +stop: + docker compose down \ No newline at end of file diff --git a/README.md b/README.md index 4d92e2b..a6399a5 100644 --- a/README.md +++ b/README.md @@ -3,19 +3,13 @@ **На хост машине** ```bash -docker compose build --no-cache -docker compose up -d -docker compose exec php sh -npm run build -``` - -**Внутри контейнера** - -```sh -php artisan migrate -php artisan db:seed # включая заполнение статей и комментариев -php artisan test # запуск тестов, включая тесты контроллеров +make help +make build +make install +make run # заполнит базу и запустит тесты ``` +**URL** +http://localhost:8080 Маршруты в api.php diff --git a/laravel/.env.example b/laravel/.env.example index c0660ea..597a160 100644 --- a/laravel/.env.example +++ b/laravel/.env.example @@ -20,12 +20,12 @@ LOG_STACK=single LOG_DEPRECATIONS_CHANNEL=null LOG_LEVEL=debug -DB_CONNECTION=sqlite -# DB_HOST=127.0.0.1 -# DB_PORT=3306 -# DB_DATABASE=laravel -# DB_USERNAME=root -# DB_PASSWORD= +DB_CONNECTION=mysql +DB_HOST=mysql +DB_PORT=3306 +DB_DATABASE=laravel +DB_USERNAME=laravel +DB_PASSWORD=123 SESSION_DRIVER=database SESSION_LIFETIME=120