Big list of updates:
- New generated project structure and refactorings
- Elasticsearch updates
- Phalcon now supported on php 7.1
- Docker-compose file version now at 3.1 (latest)
- Removed vagrant option
- README updates
New project structure and docker-compose updates
I've received a fair amount of feedback on how inconvenient it was to have the docker-compose.yml file in a folder instead of on the root of the project; most people were moving it in there for convenience when bringing the environment up and down, accessing the logs and running commands on the containers. I have moved things around so that this is not necessary anymore: unzipping the project file on the root of your application will take care of this automagically.
Also, this fixes an issue whereby projects would collide with each other, regardless of the container names. Internally, docker-compose names each environment based on the folder containing the docker-compose.yml file.
Another nice side effect is that each container now has a predictable, generic service name (so that you can always do docker-compose exec php-fpm bash, or knowing the redis service is always available at the redis hostname), simplifying linkage between services while at the same time having a container name based on your project name.
I have also brought up the docker-compose file to the latest version (3.1). This will however require you to be fairly up to date on your docker and docker-compose packages; see README on the generated project for more information.
Vagrant phased out
Mac and Windows support has moved forward to the point of being usable. I have removed the Vagrant option to load the environment as a result.
- Phalcon works now across all 3 supported PHP versions, including PHP 7.1
- Some services now use alpine images
- Project folder is now mounted as WORKDIR on some images you might want to open shells to. Instead of the old /var/www/project-name, mounts go now to the much easier /application folder.
- Generated README is fully up to date now.
As usual, if you encounter any problems, leave a comment below, or head off to Github and open an issue there and I'll try get to it as soon as I possibly can.