- Edit.vue: move _method PUT from Inertia options to FormData (Inertia v2 ignores it in options)
- Upload.vue: add forceFormData: true for reliable multipart/form-data
- AccessCheck: add logging when abort() is triggered with non-200 code
- UploadSchedulesController: add request logging for diagnostics
- php.ini: increase max_file_uploads from 20 to 50 for bulk uploads
- Add web+superadmin middleware to /api/deploy routes
- Return JSON 403 in EnsureUserIsSuperadmin for API requests
- Remove Docker CLI and docker.sock from app container
- Replace docker compose restart with supervisorctl
- Add mysqldump backup step before migrations
- Install docker-ce-cli + docker-compose-plugin in Dockerfile
- Mount Docker socket in docker-compose.yml
- Add www-data to docker group for socket access
- Add hostgroup (GID 1000) to Dockerfile so www-data inside container can write to sveden/
- Add credentials: 'same-origin' to fetch calls in Sveden.vue and QuickUpload.vue to send session cookies
Проблема: Правило 'location ~ ^/storage/ { deny all; }' блокировало
ВСЕ запросы к /storage/, включая файлы доступные через symlink
public/storage -> storage/app/public.
Решение:
- location /storage/ — разрешает доступ к статическим файлам (изображения, документы)
- Запрещает выполнение .php файлов в storage (security)
- try_files $uri =404 — отдаёт файлы если они существуют
- Запрещает листинг директорий (autoindex off)
Fix: Изображения новостей не загружались (404 ошибка)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Moved logic from MainController to dedicated action and task classes.
- Introduced GetMainPageDataAction, GetEducationsDataTask, GetRecentPostsTask, GetUpcomingEventsTask, and GetPageDataTask for better separation of concerns.
- Updated routes to use the new MainController from the Main container.
- Deprecated the old MainController with a clear message for future removal.
- Updated caching mechanisms to use the new task classes.
- Adjusted environment variable access to use config() instead of env() for better practice.
- Added new MainPageResource for structured data response.
- Updated .gitignore to exclude QWEN.md.
- Added Jenkins service to docker-compose for CI/CD integration.