version: '2' services: app: build: context: . dockerfile: ./docker/Dockerfile image: tripbuilder:latest ports: - "9024:22" volumes: - .:/var/www - ./docker/docker-php-fpm.conf:/etc/php5/fpm/pool.d/www.conf links: - redis - db nginx: build: context: . dockerfile: ./docker/Dockerfile-nginx image: tripbuilder:nginx ports: - "8080:80" - "9025:22" volumes_from: - app links: - app - apidocs volumes: - ./docker/docker-vhost.conf:/etc/nginx/sites-enabled/vhost.conf redis: image: redis ports: - 6379:6379 db: image: postgres:alpine environment: POSTGRES_PASSWORD: jqbdui1bdb POSTGRES_USER: tripbuilder POSTGRES_DB: tripbuilder ports: - 5432:5432 composer: image: composer/composer:alpine volumes: - .:/app - ~/.ssh:/root/.ssh entrypoint: - composer - install # generate api documentation, then exits apidocs: image: apidocs:latest build: context: . dockerfile: ./docker/Dockerfile-apidocs volumes: - .:/src environment: - DOCS_DIR=public/docs - APP_DIR=./app - FILE_FILTER="[Http\/Controllers\/|routes\/].*php"