ce-vm

ce-vm: web development stack

Spins up a LAMP environment using Docker containers, managed and orchestrated with Vagrant. It will also generate codebase and suitable settings for either:

  • Drupal
  • Symfony
  • Wordpress

It aims to be both:

  1. Easy to use: it should work out the box for standard configurations.
  2. Flexible: everything is overridable and extendable using Ansible, for more advanced setups.

1. Make sure you fullfill the requirements

Major Linux distributions, Mac OS X and Windows should be supported. Ensure you have a fair amount of RAM (8G recommended).

We also assume you have at least some basic knowledge of using Docker/Vagrant and virtual environments.

Refer to the installation and setup documentation for your platform.

2. Generate a skeleton for your project

Use only lowercase alphanumeric characters.

Provides tools and setup suitable for Drupal. It will also generate a Drupal 8 install, using composer/drupal-project with a few modules and helper tools commonly used at Code Enigma.

Provides tools and setup suitable for Symfony based projects. It will also generate the codebase for a vanilla Symfony 3 project.

Provides tools and setup suitable for Symfony based projects. It will also generate the codebase for a vanilla Symfony 4 project.

Provides tools and setup suitable for Wordpress. It will also install the latest Wordpress version.

Minimal setup that generates no codebase beside an empty index.php file.

3. Launch your environment

Setup

Extract the generated archive to a folder of your choice, and:

  • review the config.yml file generated in the ce-vm subfolder, if you want to access more advanced options;
  • From within the "ce-vm" folder, use vagrant up to start and provision the VMs;
  • Go make a cup of tea while Ansible does its thing.

Usage

You should now have running containers, ready to use. Open http://dashboard.ce-vm.local in your browser to check everything got properly installed.

There will be one or several new folders in your project, next to "ce-vm", that contain your codebase and utilities. This is shared with the containers, you can conveniently edit them from your host.

Going further

For more on customization and options, be sure to read the documentation.

Having a peak at the code will help too.