Symfony okoa base project
- dev-master / 3.1.x-dev
This project runs via docker, specifically using
docker-compose. To run the project make sure
you have the docker client and docker-compose installed and then simply run
docker-compose up to start it.
To install vagrant, docker, docker-compose and virtualbox on OSX you can use:
brew cask install vagrant virtualbox docker docker-compose
If you're a linux user, or you are comfortable working with docker for windows or docker for mac you can simply run:
docker-compose up -d
If you have a configuration for which it is not possible to run docker (or for
which docker is too slow to run this project), you can choose to run this
project using vagrant. This will start up a linux machine that allows you to run
docker-compose as best as possible for this project. To use docker-compose on
your host machine you must export the
DOCKER_HOST environment variable:
export DOCKER_HOST=tcp://127.0.0.1:2375. Note that the vagrant configuration
is not intended for production settings. To run using vagrant simply run these
vagrant up docker-compose up -d
Whether you're using just docker-compose or you're using docker-compose within the vagrant machine, this will set up services and forward ports to localhost:
- PostgreSQL: configured to allow access by any user defined (by default
tgusername is available). The PostgreSQL instance is available on port 5432.
- MailHog: http://localhost:1080/ (SMTP is listening on mailhog:1025 for the app container)
- Production website: http://localhost:80/ (running using nginx and php-fpm) Note when running on vagrant this address is http://localhost:8880 instead.
- Development website: http://localhost:8080/ (running using nginx and php-fpm)
- Selenium grid: http://localhost:4444/
- Chrome debug: vnc://localhost:15900/ (password
- Firefox debug: vnc://localhost:15901/ (password
To run commands inside of the app container you can use
docker-compose run app
to start a shell.
By default the project will start a
gulp watch instance, this will watch for
asset changes automatically. Note that on the first run of the project
complition may fail because of missing dependencies. To fix this first run
bin/setup in the app container (
docker-compose run app). The gulp watch
command also starts a livereload server which can be used to automatically
reload the page on asset changes.
gulp build can be used to create production versions of the assets
which are minified and gzipped.
To clean previous versions of assets you may run
gulp clean, this will ensure
that any old assets are removed before generating new ones. A full list of
available tasks can be shown with
When the virtual machine is first started the project is not yet setup properly.
To setup the machine, simply run
bin/setup inside the app container. If the
project was not previously configured an installation wizzard should start
A local version for first setup of the project may either be obtained by cloning
(or downloading) this repository and removing the git history, or by running
composer create-project tweedegolf/symfony-okoa [target-dir].
bin/setup you may want to run
docker-compose restart to
restart any processes which may have depended on the installed dependencies.
Once a project was updated the
bin/update command may help for an easy update
of the project to the latest state.
bin/setup, you may want to restart using
to restart any processes which may depend on updated libraries.