Project template for building rapidly scalable applications based on the integration of the Honeybee CQRS & ES library with the Silex micro framework.
####Alternative Honeybee Integrations
You can have Honeylex running very quickly with Docker.
If you do not already have Docker, first install it and have it running, then create a machine with Virtualbox as required.
Build a Honeylex project on Docker as follows:
git clone git@github.com:honeylex/honeylex.git your-project
cd your-project
composer install
composer docker:build
Now you can connect to the web server container and run commands to setup the project:
# NOTE! docker may sanitize your container prefix, removing punctuation etc.
docker exec -it -u 1000 yourproject_web_1 bash
cd /var/www
bin/console hlx:project:install
bin/console hlx:migrate:up
Your site will then be available at the IP address of your base machine (typically http://192.168.99.100).
You can also configure various environment files in the your-project/var/docker/conf
folder of your host machine.
The following docker commands are available via composer
from your host machine:
composer docker:build # provision a container set for a Honeylex project
composer docker:up # bring up the containers without building
composer docker:down # stops and removes the project containers
composer docker:start # start previously stopped containers
composer docker:stop # stop/suspend the docker containers
In order to get Honeylex running without virtualization you'll need to make sure that your machine meets the following requirements:
- PHP >= 5.6
- Composer
- Elasticsearch 2.x
- Couchdb 1.6.x
- Rabbitmq - Only required if you want support for async background processing.
- Run:
composer create-project -sdev honeylex/honeylex your-project
- Install:
cd your-project; bin/console hlx:project:install
- Create a directory:
/usr/local/honeylex.local/
- In this directory create a file named
rabbitmq.json
with the following contents:{ "user":"name", "password":"secret", "host": "localhost", "port": 5672 }
- Run:
bin/console hlx:migrate:up
- Run:
composer run
, this will start a local webserver that hosts the app here
A full list of supported console commands for scaffolding crates and resources, managing migrations and more can be found by running:
bin/console
The bootstrapped Silex app is configured with the following service providers:
- AssetServiceProvider
- FormServiceProvider
- LocaleServiceProvider
- MonologServiceProvider
- SerializerServiceProvider
- ServiceControllerServiceProvider
- SwiftmailerServiceProvider
- TranslationServiceProvider
- TwigServiceProvider
- UrlGeneratorServiceProvider
- ValidatorServiceProvider
- WebProfilerServiceProvider
Read the Providers documentation for more details about Silex Service Providers.
Feel free to join us and ask questions in the #honeybee channel on freenode.