Permalink
Browse files

Just type "docker-compose up" to install a Flex project (major refact…

…oring)
  • Loading branch information...
dunglas committed Jul 5, 2017
1 parent 3b0893c commit 6d5bf66804a28b197542fea637071640d1612eb1
@@ -1,8 +1,9 @@
**/*.log
**/*.md
**/._*
**/.DS_Store
**/.gitignore
**/.gitattributes
**/Thumbs.db
.dockerignore
Dockerfile
docker-compose.yml
View
@@ -1,3 +1,2 @@
* text=auto
*.sh text eol=lf
docker/apache/start_safe_perms text eol=lf
View
@@ -15,24 +15,24 @@ RUN set -xe \
zlib-dev \
&& docker-php-ext-install \
intl \
pdo_mysql \
zip \
&& pecl install \
apcu-${APCU_VERSION} \
&& docker-php-ext-enable --ini-name 20-apcu.ini apcu \
&& docker-php-ext-enable --ini-name 05-opcache.ini opcache \
&& apk del .build-deps
###> recipes ###
###< recipes ###
COPY docker/app/php.ini /usr/local/etc/php/php.ini
COPY docker/app/install-composer.sh /usr/local/bin/docker-app-install-composer
RUN chmod +x /usr/local/bin/docker-app-install-composer
RUN set -xe \
&& apk add --no-cache --virtual .fetch-deps openssl \
&& docker-app-install-composer \
&& mv composer.phar /usr/local/bin/composer \
&& apk del .fetch-deps
&& mv composer.phar /usr/local/bin/composer
# https://getcomposer.org/doc/03-cli.md#composer-allow-superuser
ENV COMPOSER_ALLOW_SUPERUSER 1
@@ -42,24 +42,20 @@ RUN composer global require "hirak/prestissimo:^0.3" --prefer-dist --no-progress
WORKDIR /srv/app
COPY composer.* ./
COPY . .
# Cleanup unneeded files
RUN rm -Rf docker/
# Download the Symfony skeleton
ENV SKELETON_COMPOSER_JSON https://raw.githubusercontent.com/symfony/skeleton/v3.3.2/composer.json
RUN [ -f composer.json ] || php -r "copy('$SKELETON_COMPOSER_JSON', 'composer.json');"
RUN mkdir -p \
var/cache \
var/logs \
var/sessions \
&& composer install --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress --no-suggest \
RUN mkdir -p var/cache var/logs var/sessions \
&& composer install --prefer-dist --no-dev --no-progress --no-suggest --optimize-autoloader --classmap-authoritative --no-interaction \
&& composer clear-cache \
# Permissions hack because setfacl does not work on Mac and Windows
&& chown -R www-data var
COPY etc etc/
COPY src src/
COPY var var/
COPY web web/
RUN composer dump-autoload --optimize --classmap-authoritative --no-dev
COPY docker/app/docker-entrypoint.sh /usr/local/bin/docker-app-entrypoint
RUN chmod +x /usr/local/bin/docker-app-entrypoint
View
@@ -0,0 +1,4 @@
FROM nginx:1.13-alpine
COPY docker/nginx/conf.d /etc/nginx/conf.d/
COPY public /srv/app/public/
View

This file was deleted.

Oops, something went wrong.
View
@@ -4,16 +4,9 @@ services:
app:
build:
context: .
dockerfile: ./Dockerfile
#depends_on:
# - db
env_file:
- .env
volumes:
# Comment out the next line in production
- ./:/srv/app/:rw
# This is for assets:install
- ./web/:/srv/app/web/:rw
- ./:/srv/app:rw
# If you develop on Linux, comment out the following volumes to just use bind-mounted project directory from host
- /srv/app/var/
- /srv/app/var/cache/
@@ -23,31 +16,11 @@ services:
nginx:
build:
context: ./docker/nginx
dockerfile: ./Dockerfile
context: .
dockerfile: ./Dockerfile.nginx
volumes:
# Comment out the next line in production
- ./docker/nginx/conf.d:/etc/nginx/conf.d:ro
- ./web:/srv/app/web:ro
- ./public:/srv/app/public:ro
ports:
- "80:80"
# Uncomment the following lines to add a MySQL container
#db:
# build:
# context: ./docker/db
# dockerfile: ./Dockerfile
# environment:
# - MYSQL_DATABASE=app
# # You should definitely change the password in production
# - MYSQL_PASSWORD=symfony
# - MYSQL_RANDOM_ROOT_PASSWORD=true
# - MYSQL_USER=symfony
# volumes:
# - db-data:/var/lib/mysql:rw
# # You may use a bind-mounted host directory instead, so that it is harder to accidentally remove the volume and lose all your data!
# # - ./docker/db/data:/var/lib/mysql:rw
volumes:
app-web: {}
#db-data: {}
- '80:80'
@@ -7,11 +7,12 @@ if [ "${1#-}" != "$1" ]; then
fi
if [ "$1" = 'php-fpm' ] || [ "$1" = 'bin/console' ]; then
if [ "$APP_ENV" = 'prod' ]; then
composer install --prefer-dist --no-dev --no-progress --no-suggest --optimize-autoloader --classmap-authoritative --no-interaction
else
composer install --prefer-dist --no-progress --no-suggest --no-interaction
fi
# The first time volumes are mounted, dependencies need to be reinstalled
if [ ! -f composer.json ]; then
rm -Rf vendor/*
php -r "copy('$SKELETON_COMPOSER_JSON', 'composer.json');"
composer install --prefer-dist --no-progress --no-suggest --no-interaction
fi
# Permissions hack because setfacl does not work on Mac and Windows
chown -R www-data var
@@ -4,7 +4,7 @@
# Origin: https://github.com/composer/composer/blob/master/doc/faqs/how-to-install-composer-programmatically.md
# Licence: MIT
EXPECTED_SIGNATURE=$(wget -q -O - https://composer.github.io/installer.sig)
EXPECTED_SIGNATURE=$(php -r "echo trim(file_get_contents('https://composer.github.io/installer.sig'));")
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
ACTUAL_SIGNATURE=$(php -r "echo hash_file('SHA384', 'composer-setup.php');")
View

This file was deleted.

Oops, something went wrong.
View

This file was deleted.

Oops, something went wrong.
View

This file was deleted.

Oops, something went wrong.

This file was deleted.

Oops, something went wrong.
View

This file was deleted.

Oops, something went wrong.
@@ -1,9 +1,9 @@
server {
root /srv/app/web;
root /srv/app/public;
resolver 127.0.0.11;
location / {
# try to serve file directly, fallback to app.php
# try to serve file directly, fallback to index.php
try_files $uri /index.php$is_args$args;
}
location ~ ^/index\.php(/|$) {
@@ -20,7 +20,7 @@ server {
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/app.php/some-path
# http://domain.tld/index.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
View
No changes.

0 comments on commit 6d5bf66

Please sign in to comment.