3.3 KiB
3.3 KiB
WebLab
Дз по лекциям
Быстрый старт
make setup
Или:
make init # создать .env (+UID/GID)
make build # сборка образа
make up # запустить контейнеры
make composer # установить зависимости
make migrate # применить миграции
Приложение: http://localhost:8090
Порт задается APP_PORT в .env (по умолчанию 8090)
Команды
| Команда | Описание |
|---|---|
make help |
Показать список всех команд |
make init |
Создать .env из .env.example, подставить UID/GID |
make build |
Собрать Docker-образы |
make up |
Запустить контейнеры в фоне |
make down |
Остановить контейнеры |
make ps |
Показать состояние контейнеров |
make logs |
Логи контейнеров в реальном времени |
make clean |
Остановить контейнеры и удалить данные PostgreSQL (-v) |
make setup |
Быстрый старт: init + build + up + composer + migrate |
make composer |
composer install внутри контейнера |
make migrate |
Применить миграции (php bin/migrate up) |
make migrate-status |
Статус миграций (php bin/migrate status) |
make migrate-rollback |
Откатить последнюю миграцию (php bin/migrate down) |
make sh |
Shell внутри контейнера приложения |
make psql |
Подключиться к PostgreSQL |
Логи
Каждый HTTP-запрос логируется с method, uri, status, body.
- Консоль:
docker compose logs app - Файлы:
app/storage/logs/app-*.log(ротация 7 дней)
Структура
├── compose.yaml # сервисы db и app
├── .env.example
├── Makefile
├── docker/php/ # Dockerfile и php.ini
└── app/ # PHP-код (монтируется в контейнер)
├── public/ # index.php, router.php
├── src/ # исходники
├── bin/ # мигратор
├── database/ # миграции
└── storage/logs/ # логи
Технологии
- PHP 8.5 (
php:8.5-cli, встроенный сервер) - Eloquent — illuminate/database 12 (standalone)
- Monolog 3
- PostgreSQL 18 (
postgres:18-alpine) - Docker Compose v2