All Projects → Digital-Peak → DPDocker

Digital-Peak / DPDocker

Licence: GPL-3.0 license
Docker tasks for Joomla extension development

Programming Languages

shell
77523 projects
PHP
23972 projects - #3 most used programming language
javascript
184084 projects - #8 most used programming language
Dockerfile
14818 projects

Labels

Projects that are alternatives of or similar to DPDocker

Icg Autoexploiterbot
Wordpress 🔥 Joomla 🔥 Drupal 🔥 OsCommerce 🔥 Prestashop 🔥 Opencart 🔥
Stars: ✭ 242 (+2320%)
Mutual labels:  joomla
attributes
Компонент реализует дополнительные атрибуты для элементов системы, меню, материалов, категорий, модулей и плагинов.
Stars: ✭ 15 (+50%)
Mutual labels:  joomla
FPA
The Forum Post Assistant (FPA) script has been developed to assist Joomla!® forum posters to be able to post relevant system, instance, PHP and troubleshooting information directly in to a pre-formatted forum post. This will save a few hours of posting back and forth, asking for, and explaining how to acquire useful information in order for othe…
Stars: ✭ 21 (+110%)
Mutual labels:  joomla
JBlank
J!Blank is Joomla CMS blank template for developers
Stars: ✭ 35 (+250%)
Mutual labels:  joomla
Master3
Master3 – modern, comfortable and flexible template for Joomla! 3, based on the UIkit 3 framework
Stars: ✭ 21 (+110%)
Mutual labels:  joomla
JCB-Community-Packages
Community Mapped Components for JCB
Stars: ✭ 13 (+30%)
Mutual labels:  joomla
Jbzoo
JBZoo Community Edition (Free, Full, Professional and GPL)
Stars: ✭ 162 (+1520%)
Mutual labels:  joomla
Joomla-Cost-Benefit-Projection
Cost Benefit Projection component for Joomla 3.x
Stars: ✭ 93 (+830%)
Mutual labels:  joomla
JD-Builder
JD Builder - Experience the Next Generation of Joomla Page Builder.
Stars: ✭ 21 (+110%)
Mutual labels:  joomla
sociallogin
Joomla!™ login and user account creation with Facebook, Google, GitHub etc social media accounts
Stars: ✭ 27 (+170%)
Mutual labels:  joomla
joomla-bootstrap3-isis-template
Joomla! admin isis template but using Bootstrap 3 styles.
Stars: ✭ 36 (+260%)
Mutual labels:  joomla
database
Joomla Framework Database Package
Stars: ✭ 25 (+150%)
Mutual labels:  joomla
jext-cli
This is a Joomla Component Builder CLI tool for creating a Joomla! 4 component using the terminal.
Stars: ✭ 28 (+180%)
Mutual labels:  joomla
loginguard
Two Step Verification for Joomla!™ – from the developer of Joomla's Two Factor Authentication
Stars: ✭ 21 (+110%)
Mutual labels:  joomla
plg system httpheader
This is a Joomla Plugin that provides setting of HTTP Headers
Stars: ✭ 19 (+90%)
Mutual labels:  joomla
Killshot
A Penetration Testing Framework, Information gathering tool & Website Vulnerability Scanner
Stars: ✭ 237 (+2270%)
Mutual labels:  joomla
jissues
Issue tracking application extending GitHub's issues and pull requests for the Joomla! project.
Stars: ✭ 68 (+580%)
Mutual labels:  joomla
joomla
The J!German translation team provides German translation for Joomla!
Stars: ✭ 25 (+150%)
Mutual labels:  joomla
jpath.ru
Для разработчиков и опытных пользователей Joomla! CMS
Stars: ✭ 15 (+50%)
Mutual labels:  joomla
custom-tables
The Custom Tables extension allows you to create, manage, and display custom data on your Joomla site. It is helpful if you need to display data that is not part of the standard Joomla content structure. For example, you could use this extension to create a custom table for product information, customer data, or any other type of data that you n…
Stars: ✭ 30 (+200%)
Mutual labels:  joomla

Docker containers for Joomla core and extension development

This repository contains different docker tasks which do help for Joomla core and extension development. Its is for local development purposes only and should NOT BE USED IN PRODUCTION!! It contains a lot of dev apps and libraries like xdebug or webgrind and is configured without any security considerations.

Introduction

Docker allows to perform tasks inside containers. Like that you are not forced to mess around with dependencies on your working computer. Just execute the containers and you are good to go.

That the tasks are actually executed on your code on your local machine, the parent folder of this project is mapped into /usr/src/Projects. So the changes which are done inside the container are immediately available on your host and vice versa. If you change something in your code in your IDE, it will be applied directly inside your container. Like that rapid development is possible as you don't have to manually sync code between folders or virtual machines.

If you want to do a test run, use the DPAttachments extension. More information can be found in the repository.

Prerequisites

You only need the docker and docker-compose binaries installed. For your convenience there are shell scripts available which do some preparation and start the docker containers properly.

Windows prerequisites

The easiest way to use DPDocker on Windows is with WSL2, then you work in a Linux environment within Windows. It is the recommended way to use Docker on Windows anyway. First you need to install your preferred Distro into WSL2. Then start the WSL Console where you find yourself in a full Linux terminal. Now you can go to the installation step.

Side note: It is recommended to have your project files stored in the WSL system for better performance as DPDocker does a lot of copy operations to start Joomla. More information can be found in the WSL developer article or on docker.com.

Installation

Clone this repository (when on Windows, make sure in a WSL console):

git clone https://github.com/Digital-Peak/DPDocker.git

Tasks

The following tasks are supported to help developing your extension:

  • Build
    Creates installable packages based on a build.json file.
  • Code
    Different code quality tasks.
  • Composer
    Installs or updates all PHP dependencies in the extension and performs some cleanup to be production ready.
  • Joomla PR
    Does start a web server with a joomla pr.
  • Npm
    Some npm tasks to install or update the Javascript dependencies. Additionally there is a task to build the assets or do watch the extension for changes and do direct builds.
  • Tests
    Runs the system tests inside different containers of an extension or joomla core.
  • Webserver
    A dev server which set's up a Joomla instance and installs some extensions out of the box.

Every task has a shell script which starts with run-. These scripts can be executed on the host on a Linux OS (and probably also on Mac) and do start the containers and in some cases do a bit of setup work. If you are on Windows, then use either a power shell or run the commands by hand in the shell.

Most tasks do have a scripts folder which contains all the scripts which are executed within the container.

Extension setup

There are tight requirements about the structure of an extension to be able to use this repository. Basically the extension repository is always treated as a package which contains as top level folders the extensions of the package. A Joomla package itself does contain a manifest file and some different extensions like components, modules, plugins or templates.

Structure

The extension must have the following structure to be able to run the different tasks in this repository:

  • package
    Contains the manifest files, asset definitions and build information.
  • com_*
    The components of the package. Every component has the administrator code in the admin folder and the site code in the site folder.
  • mod_*
    The modules.
  • plg_*
    The plugins.
  • tmpl_*
    The templates.
  • tests
    The folder with the acceptance tests.

DPDocker images

If you want to build the images by your own, then head on to the images folder, where you will find more information about our images.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].