All Projects → expresso-php → expresso-php

expresso-php / expresso-php

Licence: MIT license
Fast and simple Docker setup for all your PHP development. Quick but not dirty.

Programming Languages

Dockerfile
14818 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to expresso-php

Fail2ban.webexploits
This custom Fail2Ban filter and jail will deal with all scans for common Wordpress, Joomla and other Web Exploits being scanned for by automated bots and those seeking to find exploitable web sites.
Stars: ✭ 67 (+116.13%)
Mutual labels:  drupal, apache
WebsiteMixer-App-Base
Python/Flask alternative to Wordpress and Drupal
Stars: ✭ 18 (-41.94%)
Mutual labels:  drupal
apigee-devportal-kickstart-drupal
A fast demo and starting point for Apigee Developer Portals for Drupal
Stars: ✭ 21 (-32.26%)
Mutual labels:  drupal
docker-oxid6
Docker Container with PHP7, MySQL 5.7 and OXID eShop 6
Stars: ✭ 30 (-3.23%)
Mutual labels:  apache
Sparkora
Powerful rapid automatic EDA and feature engineering library with a very easy to use API 🌟
Stars: ✭ 51 (+64.52%)
Mutual labels:  apache
trafficserver-ingress-controller
Apache Traffic Server Ingress Controller for Kubernetes
Stars: ✭ 29 (-6.45%)
Mutual labels:  apache
TinyWebDB-PHP
TinyWebDB System written in PHP
Stars: ✭ 13 (-58.06%)
Mutual labels:  apache
drupal-elm-starter
DEPRECATED - See https://github.com/Gizra/drupal-starter
Stars: ✭ 33 (+6.45%)
Mutual labels:  drupal
apachelogs
Parse Apache access logs
Stars: ✭ 19 (-38.71%)
Mutual labels:  apache
sqstorage
A easy to use and quick way to organize your inventory, storages and storage areas
Stars: ✭ 18 (-41.94%)
Mutual labels:  apache
drupal-react-image-gallery
Drupal 8 module that provides a dynamic Image Gallery based on the react-image-gallery component.
Stars: ✭ 13 (-58.06%)
Mutual labels:  drupal
dblog-ui
No description or website provided.
Stars: ✭ 22 (-29.03%)
Mutual labels:  drupal
drupal-tweme
Ultra lightweight Bootstrap theme for Drupal.
Stars: ✭ 62 (+100%)
Mutual labels:  drupal
drupal-template-helper
Debug Drupal 8 templates in Chrome Devtools. drupal-template-helper is a chrome extension for Drupal that lists all available templates and the preprocess hooks to use to customize your templates.
Stars: ✭ 115 (+270.97%)
Mutual labels:  drupal
distros.bid
A saas to create drupal websites in seconds using docker containers.
Stars: ✭ 16 (-48.39%)
Mutual labels:  drupal
drupal-debug
Alternative Kernel for Drupal 8 to improve the Developer eXperience during the development process.
Stars: ✭ 32 (+3.23%)
Mutual labels:  drupal
traffic analyser
Retrieve useful information from apache/nginx access logs to help troubleshoot traffic related problems
Stars: ✭ 44 (+41.94%)
Mutual labels:  apache
DrupalTwigFood
Useful functions, filters for twig @ Drupal 8
Stars: ✭ 1 (-96.77%)
Mutual labels:  drupal
Simple-Social-Network
Micro Social Network developed in PHP, MySQL, BOOTSTRAP 3 and VUE.JS 2
Stars: ✭ 18 (-41.94%)
Mutual labels:  apache
fabalicious
is now deprecated and not supported anymore, use https://github.com/factorial-io/phabalicious instead
Stars: ✭ 14 (-54.84%)
Mutual labels:  drupal

Expresso PHP

This is a fast and simple Docker setup for all your PHP development. Quick but not dirty.

Tested with:

  • Drupal 7 and Drupal 8
  • Wordpress
  • Laravel

We won't force you to download our own images. Eveything is done using the official images of PHP, Nginx ... etc.

In this branch: Nginx + PHP + friends

What's included:

  • Nginx
  • PHP
  • Mariadb
  • PhpMyAdmin
  • Mailhog

All using on official images. Check the other branch of this repo for Apache + PHP.

Official containers only

We won't force you to download our own images. All of this is based on officials containers, so you won't download any specific containers to use this project.

All you have all the options available as soon as they are released on Docker Hub by PHP, Nginx, Apache ... etc.

PHP 7.0? PHP 7.1? or PHP 5.6?

You can switch between the latest release of PHP 7 or the latest of PHP 5, by changing the first line of the file "docker/php/Dockerfile". For the latest version of PHP 5:

FROM php:5-fpm

Extra PHP librairies? Check the same file: docker/php/Dockerfile You can add your own librairies.

Everytime you change a dockerfile (example "docker/php/Dockerfile"), you need to rebuild your containers with the docker compose command "build --no-cache --force" and run again "composer up -d".

More PHP versions?

This project uses the official images from PHP, see all available options on: PHP's official Docker Hub page.

Get started

  1. Install the prerequisites.
  2. Create the docker containers.
  3. Place your files in web.

Install the prerequisites

Linux
You can use the official documentation on installing Docker: https://docs.docker.com/install/

macOS
We recommend you to use "Dinghy" for faster development using Docker on MacOS. Follow the steps: https://github.com/codekitchen/dinghy#install
Then install docker-compose using brew: brew install docker docker-machine

Windows
It seems that Docker is supported only by Windows 10 pro edition. The official documentation on installing Docker

Create the docker containers

  1. Download this project and rename the folder according to your project. A good practice is to create a folder called "docker" in your home directory, this is where you will keep all your docker projects. In command line, this would be:
$ cd ~
$ mkdir docker
$ git clone https://github.com/expresso-php/expresso-php.git myproject
  1. Create the Expresso PHP containers for your project:
$ docker-compose up -d

This is only for the first time, to create the containers. Next time you can just start them with: $ docker start 3. Check which port is Nginx using with:

$ docker ps

Look for a line with the port number. For example: "myproject_nginx_1 nginx -g daemon off; Up 0.0.0.0:32770->80/tcp", in this case "32770" is my port number.

That's it! Visit http://localhost:32770 (replace 32770 with your application's port) or http://192.168.99.100:32770 (if you use a VM like dinghy).

Place your files in web.

Expresso PHP will be looking for PHP files placed into the folder web. You can delete the existing web folder, and replace it by your project.

If your project is on git, a good practice is to do a symlink to your project. According to the previous step in this README, here is how to do in command line:

$ cd docker
$ cd myproject
$ rm -rf web

Git clone or download your project, example:

git clone https://github.com/myproject/myproject.git myproject

Create a symlink with your project's php files and web, example:

$ ln -s myproject/docroot web

Useful commands

To start Expresso PHP:

$ docker-compose start

To stop Expresso PHP:

$ docker-compose stop

To SSH the containers

$ docker-compose exec php_nginx /bin/bash

Drush (command line tool for Drupal)

$  docker-compose exec php_nginx drush help

Import database with Drupal and Drush

$  docker-compose run --rm php_nginx bash -c '$(drush sql-connect)' < my_database.sql

Database credentials

This is for development !!

  • User: expresso-php
  • Password: expresso-php
  • Database: expresso-php

MySQL and PhpMyAdmin credentials

To access PhpMyAdmin, run docker ps to get its dynamic port.

  • Username: root
  • Password: root

SOLR Integration

To enable SOLR, uncomment corresponding lines from docker-compose.yml file. SOLR can be accessed in [local-domain]:8983/solr/#/ ( e.g. http://192.168.99.100:8983/solr/#/ )

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].