# NRML Dashboard Laravel-based dashboard application running with Docker, Nginx, MySQL, and phpMyAdmin. ## Requirements * Docker Desktop * Docker Compose * Git ## Project Structure ```text nrml_dashboard/ ├── dashboard/ # Laravel application ├── docker/ ├── docker-compose.yml ├── Dockerfile ├── nginx.conf ``` ## First-Time Setup ### Clone Repository ```bash git clone https://gitea.niph.org.kh/khantey/nrml_dashboard.git cd nrml_dashboard ``` ### Create Environment File ```bash cd dashboard cp .env.example .env ``` ### Start Docker Containers ```bash docker compose up -d --build ``` ### Install PHP Dependencies ```bash docker exec -it dashboard_app bash cd /var/www composer install ``` ### Generate Application Key ```bash php artisan key:generate ``` ### Configure Database Update `.env`: ```env DB_CONNECTION=mysql DB_HOST=mysql DB_PORT=3306 DB_DATABASE=dashboard DB_USERNAME=laravel DB_PASSWORD=secret ``` ### Run Migrations ```bash php artisan migrate ``` ### Frontend Assets Install dependencies: ```bash cd dashboard npm install npm run build ``` ## Application URLs ### Dashboard http://localhost:8000 ### phpMyAdmin http://localhost:8083 Credentials: ```text Server: mysql Username: laravel Password: secret ``` ## Storage Directories The following Laravel directories are committed to Git using placeholder `.gitignore` files: ```text storage/framework/cache storage/framework/sessions storage/framework/testing storage/framework/views storage/logs ``` Do not remove these directories. ## Common Commands Enter application container: ```bash docker exec -it dashboard_app bash ``` Clear Laravel caches: ```bash php artisan optimize:clear ``` View logs: ```bash php artisan pail ``` Stop containers: ```bash docker compose down ``` Restart containers: ```bash docker compose restart ``` ## Troubleshooting ### "Please provide a valid cache path" Verify that the following directories exist: ```text storage/framework/cache storage/framework/sessions storage/framework/testing storage/framework/views storage/logs ``` Then run: ```bash php artisan optimize:clear ``` ### Permission Issues Inside the container: ```bash chown -R www-data:www-data storage bootstrap/cache chmod -R 775 storage bootstrap/cache ```