Каркас Laravel-приложения: Breeze+Sanctum, схема БД, модели, Docker
Laravel 13 в laravel-app/, Breeze (Blade) для сессионного логина + Sanctum для API-токенов (задел под Vue/Flutter на этапе 3). Схема Postgres перенесена из сырого SQL в Laravel-миграции (владелец схемы теперь Laravel, Go-сервисы как читали/писали эти таблицы, так и продолжают). Роли/категории/ операторы условий — закрытые PHP-enum'ы (UserRole, DeviceCategory, ConditionOperator); action_type правил намеренно остаётся строкой — открытый, управляемый данными список, а не код. Сидер device_types с growbox-типами как пример данных, не бизнес-логика. Docker: один контейнер (php-fpm + nginx через supervisord, multi-stage сборка vendor/assets). Образ пока не --no-dev — сидер использует fake() для демо-аккаунта. Проверено: миграции применяются на реальном Postgres (в докере и локально), дефолтные тесты Breeze проходят (25/25), Breeze-логин подтверждён вживую через браузер, Sanctum корректно отдаёт 401 на защищённый /api/user без токена.
This commit is contained in:
+34
-4
@@ -31,7 +31,6 @@ services:
|
||||
- "${POSTGRES_PORT}:5432"
|
||||
volumes:
|
||||
- postgres-data:/var/lib/postgresql/data
|
||||
- ./migrations/postgres:/docker-entrypoint-initdb.d:ro
|
||||
networks:
|
||||
- home-automation
|
||||
healthcheck:
|
||||
@@ -175,6 +174,37 @@ services:
|
||||
- home-automation
|
||||
restart: unless-stopped
|
||||
|
||||
# Remaining app services (health-check-service, esp32-emulator,
|
||||
# laravel-app) are added here as they get implemented — see
|
||||
# services/*/README.md for the plan for each one.
|
||||
laravel-app:
|
||||
build: ./laravel-app
|
||||
ports:
|
||||
- "${LARAVEL_HTTP_PORT}:80"
|
||||
environment:
|
||||
APP_NAME: "Home Automation Platform"
|
||||
APP_KEY: ${APP_KEY}
|
||||
APP_ENV: ${APP_ENV}
|
||||
APP_DEBUG: ${APP_DEBUG}
|
||||
APP_URL: ${APP_URL}
|
||||
DB_CONNECTION: pgsql
|
||||
DB_HOST: postgres
|
||||
DB_PORT: 5432
|
||||
DB_DATABASE: ${POSTGRES_DB}
|
||||
DB_USERNAME: ${POSTGRES_USER}
|
||||
DB_PASSWORD: ${POSTGRES_PASSWORD}
|
||||
SESSION_DRIVER: database
|
||||
CACHE_STORE: database
|
||||
QUEUE_CONNECTION: sync
|
||||
REDIS_HOST: redis
|
||||
REDIS_PORT: 6379
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
LOG_CHANNEL: stderr
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_started
|
||||
networks:
|
||||
- home-automation
|
||||
restart: unless-stopped
|
||||
|
||||
# Remaining app services (health-check-service, esp32-emulator) are added
|
||||
# here as they get implemented — see services/*/README.md for the plan.
|
||||
|
||||
Reference in New Issue
Block a user