This project provides a Docker-based environment for PHP development, database management, and observability tooling (Prometheus, Grafana, Loki, Promtail, Node Exporter). It is designed for rapid local development and monitoring, with all configuration and orchestration handled via Docker and supporting scripts.
- Dockerfile: Main PHP/Apache/Nginx container build.
- docker-compose.yml: Multi-service orchestration (PHP, DB, Observability).
- cache/: Persistent cache storage (e.g., Redis).
- configurations/: PHP, Apache, and phpMyAdmin config files.
- database/: Database configuration and initialization scripts.
- logvolume/: Log storage for containers.
- Observability/: Dockerfile and configs for Prometheus, Grafana, Loki, Promtail, Node Exporter.
- sites-available/: Apache virtual host configurations.
- supervisor/: Supervisor configs for process management.
docker-compose up --build
- PHP Application: http://localhost (port may vary)
- phpMyAdmin: http://localhost:8080 (if configured)
- Grafana: http://localhost:3000 (default admin/admin)
- Prometheus: http://localhost:9090
The Observability directory contains detailed setup for:
- Prometheus: Metrics collection
- Node Exporter: System metrics
- Grafana: Visualization dashboards
- Loki & Promtail: Log aggregation
See Observability/README.md for full instructions.
- PHP/Apache: Edit files in configurations/
- Database: Place SQL/init scripts in database/
- Supervisor: Manage background processes via supervisor/
- cache/, logvolume/, and database/ are mapped as volumes for persistent data.
- Add new Apache vhosts in sites-available/
- Adjust PHP/Apache settings in configurations/
- Extend Dockerfiles as needed for additional tooling.
This project is for internal development and demonstration purposes.