|
|
před 1 týdnem | |
|---|---|---|
| src | před 1 týdnem | |
| .gitignore | před 1 týdnem | |
| Dockerfile | před 1 týdnem | |
| README.md | před 1 týdnem | |
| docker-compose.yml | před 1 týdnem | |
| nginx.conf | před 1 týdnem |
Минимальное окружение: PHP 8.2, Composer 2 и Nginx. MySQL и Redis для задания с хранением обращений в JSON не нужны.
Команды выполняются из каталога Docker. Сначала запустите Docker/OrbStack.
docker compose build php
rm -f src/.gitkeep
docker compose run --rm --no-deps php composer create-project laravel/laravel . "^12.0"
Команда create-project выполняется только один раз, в пустом src. Она создаёт Laravel, устанавливает зависимости и выполняет стандартные скрипты установки. SQLite поддерживается образом для стандартных скриптов Laravel.
В src/.env установите:
APP_ENV=local
APP_DEBUG=true
APP_URL=http://localhost:8080
APP_TIMEZONE=Asia/Irkutsk
APP_LOCALE=ru
APP_FALLBACK_LOCALE=en
SESSION_DRIVER=file
CACHE_STORE=file
QUEUE_CONNECTION=sync
FILESYSTEM_DISK=local
В src/config/app.php задайте:
'timezone' => env('APP_TIMEZONE', 'Asia/Irkutsk'),
Если APP_KEY остался пустым:
docker compose run --rm --no-deps php php artisan key:generate
Запуск:
docker compose up -d
docker compose exec php php artisan config:clear
Сайт: http://localhost:8080. Далее добавьте контроллеры, маршруты и Blade-шаблоны из инструкции в чате. JSON-файлы обращений храните на диске local в storage/app/private/feedback. Повторите несекретные настройки в .env.example, оставив APP_KEY пустым.
cp -n src/.env.example src/.env
docker compose build php
docker compose run --rm --no-deps php composer install
docker compose run --rm --no-deps php php artisan key:generate
docker compose up -d
Ключ генерируется при первоначальной настройке, а не при каждом запуске.
После реализации и проверки задания из корня Web_technology:
git add Docker/
git diff --cached --stat
git commit -m "Implement Laravel feedback application"
git tag -a v1.0 -m "Laravel feedback application v1.0"
Папка Docker использует существующий репозиторий Web_technology. Тег v1.0 создаётся для готового приложения, а не пустого окружения.