Skip to content

Commit

Permalink
Merge branch 'release/1.2.0' into develop
Browse files Browse the repository at this point in the history
  • Loading branch information
chrisnharvey committed May 14, 2020
2 parents fe3e1c3 + 3187226 commit f80ee2e
Show file tree
Hide file tree
Showing 4 changed files with 95 additions and 80 deletions.
23 changes: 21 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,30 @@

## [Unreleased](https://github.com/chrisnharvey/magicLAMP/compare/master...develop)

### v1.1.0
## v1.2.0

### New

- ElasticSearch is now included ([#21](https://github.com/chrisnharvey/magicLAMP/issues/21), [4effd1a](https://github.com/chrisnharvey/magicLAMP/commit/4effd1a97f6faac3b443642ab8f381812913b2b6))
- Memcached container is now included ([#24](https://github.com/chrisnharvey/magicLAMP/issues/24), [28aabe0](https://github.com/chrisnharvey/magicLAMP/commit/28aabe0b2a7fd9464406e8101c0fa4a34b6cb45e))
- RabbitMQ container is now included ([#25](https://github.com/chrisnharvey/magicLAMP/issues/25), [37845da](https://github.com/chrisnharvey/magicLAMP/commit/37845da9ba4413a4d87ac8daff9569a9b0fb2f00))
- Memcached extension is now installed for all PHP versions ([2991644](https://github.com/chrisnharvey/magicLAMP/commit/2991644e17e94f4c72520ed918ae3b564ab7e64d))
- DNS resolver is now included ([#26#](https://github.com/chrisnharvey/magicLAMP/issues/26), [9efcbfa](https://github.com/chrisnharvey/magicLAMP/commit/9efcbfa2ef24a83f8a3cfcedf105c91cbd546a63))

### Improved

- Git status is now disabled in zsh prompt to prevent hangs on Windows ([#30](https://github.com/chrisnharvey/magicLAMP/issues/30), [5568b8e](https://github.com/chrisnharvey/magicLAMP/commit/5568b8e2afc71d387629a7c5614319311c1b44d7))
- Workspace performance improved and image size reduced by reducing Docker layers ([a97bb17](https://github.com/chrisnharvey/magicLAMP/commit/a97bb17db2f62528966540aec8bf4a6c78f983bd))

### Fixed

- Fixed issue where node and npm would become unavailable when switching PHP version ([#31](https://github.com/chrisnharvey/magicLAMP/issues/31), [2a1c251](https://github.com/chrisnharvey/magicLAMP/commit/2a1c251b1c2ed7399dbabcc9c5071cef4fa1cd06))
- Postgres PHP driver is now included in the workspace ([e3e74f6](https://github.com/chrisnharvey/magicLAMP/commit/e3e74f61f618a0cb9ef1887772228c90d73692f9))

## v1.1.0

### New

- Elasticsearch is now included ([#21](https://github.com/chrisnharvey/magicLAMP/issues/21), [4effd1a](https://github.com/chrisnharvey/magicLAMP/commit/4effd1a97f6faac3b443642ab8f381812913b2b6))

### Improved

Expand Down
67 changes: 29 additions & 38 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,30 @@
# magicLAMP

[![Build](https://github.com/chrisnharvey/magicLAMP/workflows/Build/badge.svg)](https://github.com/chrisnharvey/magicLAMP/actions)
[![Documentation Status](https://readthedocs.org/projects/magiclamp/badge/?version=stable)](http://magiclamp.app/en/stable/?badge=stable)
[![Author](http://img.shields.io/badge/author-@chrisnharvey-blue.svg?style=square)](https://twitter.com/chrisnharvey)
[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=square)](LICENSE)

magicLAMP is a simple docker setup that provides a modern LEMP stack based on official upstream containers.

## Goals of this project

- To use the official upstream containers (where possible) with minimal modifications
- To be easy to modify for your own needs
- To include tools that makes development faster

## Features

- [x] Nginx
- [x] Automatic virtual hosts
- [x] PHP 5.6 - 7.4
- [x] PHP version changes per-project
- [x] Workspace container with pre-installed dev tools
- [x] NodeJS with multiple version support via `nvm`
- [x] MySQL
- [x] phpMyAdmin
- [x] PostgreSQL
- [x] pgAdmin4
- [x] Redis
- [x] Memcached
- [x] ElasticSearch
- [x] Auto DNS
- [x] Automatic Local SSL
- [x] Catch-all email with webmail (Mailcatcher)
- [x] Stripe CLI
- [x] Save shell history and contents of home directory
- [x] Selenium with VNC access for Chrome and Firefox
- [x] Ability to change/override config files
- [ ] Xdebug
<p align="center"><a href="https://magiclamp.app" target="_blank" rel="noopener"><img src="https://res.cloudinary.com/chrisnharvey/image/upload/v1589481387/magicLAMP_rdth7y.svg" width="400"></a></p>

<p align="center">
<a href="https://github.com/chrisnharvey/magicLAMP/actions"><img src="https://img.shields.io/github/workflow/status/chrisnharvey/magicLAMP/Build/master" alt="Build status"></a>
<a href="http://magiclamp.app/en/stable/?badge=stable"><img src="https://readthedocs.org/projects/magiclamp/badge/?version=stable" alt="Documentation Status"></a>
<a href="https://twitter.com/chrisnharvey"><img src="http://img.shields.io/badge/author-@chrisnharvey-blue.svg?style=square" alt="Author"></a>
<a href="https://twitter.com/chrisnharvey"><img src="https://img.shields.io/github/v/release/chrisnharvey/magicLAMP" alt="Latest version"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=square" alt="License"></a>
</p>

## About magicLAMP

magicLAMP is a full PHP development environment that works like magic! ✨

- 🤩 Run **multiple PHP versions** (5.6 - 7.4) at the same time (no more restarting, or rebuilding)
- 🙌 **Automatic DNS resolution** (bye-bye `hosts` file)
- 🚀 **Automatic Virtual Host creation** (forget `apache.conf` or `nginx.conf`)
- 🔒 **Automatic and valid SSL certificates** (mixed content errors are a thing of the past)
- 💾 Pre-configured databases that are ready to use - **MySQL** - **PostgreSQL** - **Redis** - **Memcached**
- 📋 Pre-configured database management tools - **pgAdmin 4** - **phpMyAdmin** - **redis-cli**
- ✉️ Catch all **SMTP mail server with webmail** for testing emails locally
- 🔨 **Powerful workspace** with pre-installed dev tools
- 👀 **Selenium** for Firefox and Chrome with VNC access
- 🙏 Switchable versions of **NodeJS and npm** with **nvm**
- 🔍 Built-in **ElasticSearch**
- 🐇 Built-in **RabbitMQ** with management GUI
-**So much more**

## Install

Expand Down Expand Up @@ -68,6 +57,8 @@ The following DNS records are resolved automatically:
- redis.localhost
- mysql.localhost
- elasticsearch.localhost
- rabbitmq.localhost
- memcached.localhost
- phpmyadmin.localhost
- postgres.localhost
- pgadmin.localhost
Expand Down
42 changes: 21 additions & 21 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: '3'

services:
nginx:
image: chrisnharvey/magiclamp-nginx:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-nginx:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -17,7 +17,7 @@ services:
ipv4_address: 10.0.10.10

postgres:
image: chrisnharvey/magiclamp-postgres:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-postgres:${MAGICLAMP_VERSION:-1.2}

ports:
- 5432:5432
Expand All @@ -30,7 +30,7 @@ services:
ipv4_address: 10.0.10.15

pgadmin:
image: chrisnharvey/magiclamp-pgadmin:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-pgadmin:${MAGICLAMP_VERSION:-1.2}

networks:
app_net:
Expand All @@ -49,7 +49,7 @@ services:
- dns_internal

mysql:
image: chrisnharvey/magiclamp-mysql:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-mysql:${MAGICLAMP_VERSION:-1.2}

volumes:
- mysql_data:/var/lib/mysql
Expand All @@ -67,7 +67,7 @@ services:
ipv4_address: 10.0.10.20

phpmyadmin:
image: chrisnharvey/magiclamp-phpmyadmin:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-phpmyadmin:${MAGICLAMP_VERSION:-1.2}

networks:
app_net:
Expand All @@ -80,7 +80,7 @@ services:
- MYSQL_ROOT_PASSWORD=gg

mailcatcher:
image: chrisnharvey/magiclamp-mailcatcher:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-mailcatcher:${MAGICLAMP_VERSION:-1.2}

ports:
- 1025:1025
Expand All @@ -90,7 +90,7 @@ services:
ipv4_address: 10.0.10.25

workspace:
image: chrisnharvey/magiclamp-workspace:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-workspace:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -113,14 +113,14 @@ services:
ipv4_address: 10.0.10.5

dns_internal:
image: chrisnharvey/magiclamp-dns-internal:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-dns-internal:${MAGICLAMP_VERSION:-1.2}

networks:
app_net:
ipv4_address: 10.0.10.2

dns:
image: chrisnharvey/magiclamp-dns:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-dns:${MAGICLAMP_VERSION:-1.2}

ports:
- 127.0.0.1:53:53/udp
Expand All @@ -129,7 +129,7 @@ services:


redis:
image: chrisnharvey/magiclamp-redis:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-redis:${MAGICLAMP_VERSION:-1.2}

ports:
- 6379:6379
Expand All @@ -139,7 +139,7 @@ services:
ipv4_address: 10.0.10.21

memcached:
image: chrisnharvey/magiclamp-memcached:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-memcached:${MAGICLAMP_VERSION:-1.2}

ports:
- 11211:11211
Expand All @@ -149,7 +149,7 @@ services:
ipv4_address: 10.0.10.11

elasticsearch:
image: chrisnharvey/magiclamp-elasticsearch:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-elasticsearch:${MAGICLAMP_VERSION:-1.2}

ports:
- 9200:9200
Expand All @@ -163,7 +163,7 @@ services:
ipv4_address: 10.0.10.92

rabbitmq:
image: chrisnharvey/magiclamp-rabbitmq:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-rabbitmq:${MAGICLAMP_VERSION:-1.2}

hostname: magiclamp-rabbitmq

Expand All @@ -183,7 +183,7 @@ services:
ipv4_address: 10.0.10.67

selenium_chrome:
image: chrisnharvey/magiclamp-selenium-chrome:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-selenium-chrome:${MAGICLAMP_VERSION:-1.2}

ports:
- 4444:4444
Expand All @@ -202,7 +202,7 @@ services:
- dns_internal

selenium_firefox:
image: chrisnharvey/magiclamp-selenium-firefox:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-selenium-firefox:${MAGICLAMP_VERSION:-1.2}

ports:
- 5555:4444
Expand All @@ -221,7 +221,7 @@ services:
- dns_internal

php56:
image: chrisnharvey/magiclamp-php56:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php56:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -240,7 +240,7 @@ services:
- dns_internal

php70:
image: chrisnharvey/magiclamp-php70:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php70:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -259,7 +259,7 @@ services:
- dns_internal

php71:
image: chrisnharvey/magiclamp-php71:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php71:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -278,7 +278,7 @@ services:
- dns_internal

php72:
image: chrisnharvey/magiclamp-php72:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php72:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -297,7 +297,7 @@ services:
- dns_internal

php73:
image: chrisnharvey/magiclamp-php73:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php73:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand All @@ -316,7 +316,7 @@ services:
- dns_internal

php74:
image: chrisnharvey/magiclamp-php74:${MAGICLAMP_VERSION:-1.1}
image: chrisnharvey/magiclamp-php74:${MAGICLAMP_VERSION:-1.2}

volumes:
- ${PROJECTS_DIR:-./data/projects}:/projects
Expand Down
43 changes: 24 additions & 19 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
# Welcome to magicLAMP
<p align="center"><a href="https://magiclamp.app" target="_blank" rel="noopener"><img src="https://res.cloudinary.com/chrisnharvey/image/upload/v1589481387/magicLAMP_rdth7y.svg" width="400"></a></p>

magicLAMP is a simple docker setup for Linux, macOS and Windows that provides a modern LEMP stack with multiple PHP versions based on official upstream containers.
<p align="center">
<a href="https://github.com/chrisnharvey/magicLAMP/actions"><img src="https://img.shields.io/github/workflow/status/chrisnharvey/magicLAMP/Build/master" alt="Build status"></a>
<a href="http://magiclamp.app/en/stable/?badge=stable"><img src="https://readthedocs.org/projects/magiclamp/badge/?version=stable" alt="Documentation Status"></a>
<a href="https://twitter.com/chrisnharvey"><img src="http://img.shields.io/badge/author-@chrisnharvey-blue.svg?style=square" alt="Author"></a>
<a href="https://twitter.com/chrisnharvey"><img src="https://img.shields.io/github/v/release/chrisnharvey/magicLAMP" alt="Latest version"></a>
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-brightgreen.svg?style=square" alt="License"></a>
</p>

It includes a growing list of features, including:
#

- Automatic vhost creation with valid SSL certificates
- Automatic DNS
- PHP 5.6 - 7.4
- Multiple PHP versions with the ability to use different versions per project
- MySQL
- phpMyAdmin
- PostgreSQL
- PGAdmin
- NodeJS
- Redis
- Memcached
- ElasticSearch
- Catch-all email server with webmail
- Selenium with VNC access for Chrome and Firefox
- Stripe CLI
- Workspace container with pre-installed dev tools
**magicLAMP is a full PHP development environment that works like magic! ✨**

- 🤩 Run **multiple PHP versions** (5.6 - 7.4) at the same time (no more restarting, or rebuilding)
- 🙌 **Automatic DNS resolution** (bye-bye `hosts` file)
- 🚀 **Automatic Virtual Host creation** (forget `apache.conf` or `nginx.conf`)
- 🔒 **Automatic and valid SSL certificates** (mixed content errors are a thing of the past)
- 💾 Pre-configured databases that are ready to use - **MySQL** - **PostgreSQL** - **Redis** - **Memcached**
- 📋 Pre-configured database management tools - **pgAdmin 4** - **phpMyAdmin** - **redis-cli**
- ✉️ Catch all **SMTP mail server with webmail** for testing emails locally
- 🔨 **Powerful workspace** with pre-installed dev tools
- 👀 **Selenium** for Firefox and Chrome with VNC access
- 🙏 Switchable versions of **NodeJS and npm** with **nvm**
- 🔍 Built-in **ElasticSearch**
- 🐇 Built-in **RabbitMQ** with management GUI
-**So much more**

0 comments on commit f80ee2e

Please sign in to comment.