docker lamp

Project with Docker Compose - Building LAMP infrastructure

96
114
PHP

Docker LAMP Stack

GitHub Stars
GitHub Forks
GitHub Issues
GitHub License

A modern and efficient LAMP stack (Linux, Apache, MySQL, PHP) development environment using Docker. Perfect for PHP development with a clean, easy-to-use interface and dark mode support.

🎨 Interface Themes

Light Mode Dark Mode
Light Mode Interface Dark Mode Interface

πŸ“Ί Quick Overview

Watch the tutorial video to get started:

Watch the video

πŸ— Infrastructure Model

Infrastructure model

πŸš€ Features

  • Easy Setup: Get started with a single command
  • Modern Interface: Clean UI with dark/light mode support
  • Real-time Status: Monitor your services at a glance
  • Database Management: Includes PHPMyAdmin for easy database administration
  • Development Ready: Perfect for PHP projects with MySQL
  • Customizable: Easy to modify environment variables and configurations

πŸ“‹ Prerequisites

πŸ›  Quick Start

  1. Clone the repository:

    git clone https://github.com/jersonmartinez/docker-lamp.git
    cd docker-lamp
    
  2. Copy the environment file:

    cp .env.example .env
    
  3. Start the containers:

    docker-compose up -d
    
  4. Access the services:

πŸ”§ Configuration

Environment Variables

Edit the .env file to configure:

MYSQL_ROOT_PASSWORD=your_root_password
MYSQL_DATABASE=your_database
MYSQL_USER=your_user
MYSQL_PASSWORD=your_password

Service Versions

  • PHP: 8.2
  • MySQL: Latest
  • Apache: 2.4
  • PHPMyAdmin: Latest

πŸ“ Project Structure

docker-lamp/
β”œβ”€β”€ .env                 # Environment variables
β”œβ”€β”€ docker-compose.yml   # Docker services configuration
β”œβ”€β”€ www/                 # Web root directory
β”‚   β”œβ”€β”€ index.php       # Main application file
β”‚   β”œβ”€β”€ assets/         # CSS, JS, and other assets
β”‚   └── includes/       # PHP includes
└── README.md           # This file

πŸ”¨ Development

Adding PHP Extensions

  1. Edit the Dockerfile:

    RUN docker-php-ext-install pdo pdo_mysql
    
  2. Rebuild the containers:

    docker-compose build
    docker-compose up -d
    

Database Management

  • Access PHPMyAdmin at http://localhost:8080
  • Default credentials:
    • Server: db
    • Username: root
    • Password: (from .env file)

πŸ“š Documentation

For more detailed information, check out:

🀝 Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ‘¨β€πŸ’» Author

Jerson MartΓ­nez

⭐ Support

If you find this project helpful, please give it a star on GitHub and share it with others!