awsmug/wp-devops

Bash scripts for WordPress development with docker.

Installs: 241

Dependents: 0

Suggesters: 0

Security: 0

Stars: 6

Watchers: 4

Forks: 4

Open Issues: 1

Language:Shell

Type:dev

0.4.0 2018-11-25 14:12 UTC

This package is not auto-updated.

Last update: 2024-05-12 03:38:33 UTC


README

Version 0.4.0

This project want to leave the VVV way for developing WordPress projects and to use a more lightweight and easy way to develop by using docker. The WP Devops contains an easy environment which is based on docker. It supports site-, plugin- and theme-development.

Instead of using the standard docker wordpress container, WP Devops is using a docker-compose container infrastructure where everything can be setup in detail.

In contrast to the one container structure of the WordPress docker container, the WP Devops is based on a docker-compose environment which is a lot more configurable. It contains a docker-compose file for the three types of development for sites, themes and plugins.

The environment contains:

  • Nginx
  • PHP (with Xdebug)
  • Mariadb
  • WordPress
  • WP-CLI
  • phpMyAdmin
  • MailHog

Requirements

WP Devos are made for Mac and Linux, also Composer and Docker is required. Please install before running WP Devops.

Installation

Add WP Devops functionality by using composer.

composer require awsmug/wp-devops:dev-master

Install the environment by setting up config files. Just follow the instructions. If you have setup a theme or a plugin installation you can put your code to the ./src directory and it will be displayed in the wp-admin theme or plugin section or use the initial plugin or theme files.

./vendor/bin/devops.sh init all

Running WP Devops

Start the local server (After the first start, just wait a while until you see a ready installed WordPress):

./devops.sh up

Stop the local server:

./devops.sh down

Updating devops scripts:

./devops.sh update

The site can be reached at the host you have entered in the installation at the browser. The admin can be reached at http://YOUR-HOST/wp-admin/.

Use the user 'admin' and password 'password' to login.

Environment

WP-CLI

Use the WP CLI with the wp.sh script. Example to list all plugins (see the documentation of WP CLI at https://wp-cli.org):

./wp.sh plugin list

Example to replace domain name of WordPress installation:

./wp.sh search-replace http://localhost http://mywordpres.test

phpMyAdmin

You can reach the phpMyAdmin interface at the URL http://YOUR-HOST:8080.

MailHog

You can reach the MailHog interface at the URL http://YOUR-HOST:8125.

XDebug

To debug your script we implemented Xdebug to the PHP configuration. To get it running for your project, just add your local IP to the php.ini file. This can be done in the 'conf/php/php.ini' file by replacing the 192.168.0.1 string with your local IP. The default remote debugging port is 9000.

System

OS

The scripts are tested on Mac OS and Linux. If you have informations or issues on other systems, please report on Github.

Further Configuration

For further settings we have added further configuration files for your individual server configuration. This is a list of files we offer to setup by yourself:

  • conf/nginx/default.conf
  • conf/nginx/nginx.conf
  • conf/php/php.ini
  • conf/php/www.conf

Please be careful on editing this files, this can cause issues to your setup.

Roadmap

We want to add further functionalities to the project which helps your on developing. Further options we want to add:

  • Codeception for unit-testing and user testing.
  • Xdebug autoconfig or input of IP address.
  • Deployment scripts.
  • Script which sends success on finished WordPress installation.