Giter VIP home page Giter VIP logo

phpdevstack's Introduction

Joomla Development Stack

German Readme Version

Introduction

The Joomla Development Stack is a comprehensive Docker Compose environment specifically designed for Joomla website development, debugging, and testing. This environment provides a complete suite of tools and services to facilitate Joomla web development and ensure that your projects run smoothly.

Key Features

Our Joomla Development Stack offers a variety of features, including:

  • Development Environment: Docker Compose-based environment for Joomla web development.
  • Debugging Support: Integrated Xdebug for easy debugging of Joomla applications.
  • Unit Testing: Use PHPUnit to write and run unit tests.
  • Selenium Testing: Automate browser tests for your Joomla websites using Selenium and WebDriver.
  • Mailhog Debugging: Capture and debug outgoing emails with Mailhog.
  • phpMyAdmin: Easy access to the database for managing database schemas and content.
  • Nginx Proxy: Centralized environment management and easy access to services.

Quick Start Guide

1. Customize the .env File

The .env file contains important configuration variables for your project. Adjust the following variables to configure your Joomla development environment:

  • PROJECT_NAME: Specify the name of your project.
  • MYSQL_ROOT_PASSWORD, MYSQL_USER, MYSQL_PASSWORD, MYSQL_DATABASE: Set the MySQL database access credentials.
  • MYSQL_PREFIX: Set the prefix for the Joomla database tables.
  • JOOMLA_SECRET: Set the Joomla secret for secure sessions.
  • MAIL_FROM, MAIL_FROM_NAME: Configure email parameters for your Joomla website.

2. Add Your Joomla Website

Copy your existing Joomla website into the html directory in your project folder. Ensure that all Joomla files and folders are correctly placed in this directory.

3. Add a Database Dump as a ZIP File

If you have a database dump, compress it into a ZIP file, e.g., backup.zip. Place the ZIP file in the /config/sql/init directory. Docker will extract the ZIP file and use the database dump to initialize the database when starting the project.

4. Customize the Nginx Proxy (Optional)

If you have specific requirements for your Nginx proxy or need a particular configuration, modify the files in the config/nginx directory. Ensure that the Nginx proxy is configured according to your needs.

5. Start the Project

Run the following command in your project folder to start the development environment:

docker-compose up -d

This command will create and start all containers according to the configuration defined in your docker-compose.yaml file.

6. Switch to the phpdev Container (Optional)

After starting the project, you can switch to the phpdev container to begin your Joomla development work. You can open the container in various ways:

Option 1: Switch with the Integrated Terminal

Open a terminal in Visual Studio Code and run the following command:

docker-compose exec phpdev bash

Option 2: Switch via the Docker Extension

  1. Click on the Docker icon in the left sidebar of VSCode.
  2. Find the container named phpdev and click on it.
  3. Click on "Attach Shell" or "Attach Visual Studio Code" to open an integrated terminal or VSCode instance inside the container.

You are now inside the phpdev container and can start developing your Joomla website.


Additional Documentation

phpdevstack's People

Contributors

fkainka avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.