Skip to content

Commit

Permalink
[FEATURE] Add nginx configuration for symfony
Browse files Browse the repository at this point in the history
- Raised version in docker-compose file to 3
- Added documentation
  • Loading branch information
egobude committed Aug 4, 2017
1 parent 65c0bbd commit 23b3c37
Show file tree
Hide file tree
Showing 5 changed files with 73 additions and 5 deletions.
8 changes: 8 additions & 0 deletions .env.dist
Original file line number Diff line number Diff line change
@@ -1,11 +1,19 @@
# Currently you can choose between flow and symfony
PROJECT_TYPE=flow

# Choose your custom project identifier
# This is currently used for the docker images
PROJECT_IDENTIFIER=project

# MySQL Settings
MYSQL_ROOT_PASSWORD=super-secret
MYSQL_DATABASE=project
MYSQL_USER=project
MYSQL_PASSWORD=secret

# Nginx Settings
NGINX_PORT=1234
NGINX_DOCUMENT_ROOT=/data/Web

# Custom Settings
FLOW_CONTEXT=Development/Docker
4 changes: 3 additions & 1 deletion Docker/nginx/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
FROM zeroboh/nginx:1.11-alpine

COPY ./default.conf.template /default.conf.template
ARG PROJECT_TYPE

COPY ./${PROJECT_TYPE}.conf.template /default.conf.template
COPY ./docker-entrypoint /docker-entrypoint
COPY ./docker-entrypoints /docker-entrypoints

Expand Down
File renamed without changes.
55 changes: 55 additions & 0 deletions Docker/nginx/symfony.conf.template
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
server {
server_name localhost;
listen ${NGINX_PORT};
root /data/web;

location / {
# try to serve file directly, fallback to app.php
try_files $uri /app.php$is_args$args;
}
# DEV
# This rule should only be placed on your development environment
# In production, don't include this and don't deploy app_dev.php or config.php
location ~ ^/(app_dev|config)\.php(/|$) {
fastcgi_pass php:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
fastcgi_param DOCUMENT_ROOT $realpath_root;
}
# PROD
location ~ ^/app\.php(/|$) {
fastcgi_pass php:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# When you are using symlinks to link the document root to the
# current version of your application, you should pass the real
# application path instead of the path to the symlink to PHP
# FPM.
# Otherwise, PHP's OPcache may not properly detect changes to
# your PHP files (see https://github.com/zendtech/ZendOptimizerPlus/issues/126
# for more information).
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
# Remove the internal directive to allow URIs like this
internal;
}

# return 404 for all other php files not matching the front controller
# this prevents access to other php files you don't want to be accessible.
location ~ \.php$ {
return 404;
}

error_log /var/log/nginx/project_error.log;
access_log /var/log/nginx/project_access.log;
}
11 changes: 7 additions & 4 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: "2"
version: "3"

services:

Expand All @@ -14,7 +14,10 @@ services:
- "./Data:/data"

nginx:
build: ./Docker/nginx
build:
context: "./Docker/nginx"
args:
PROJECT_TYPE: "${PROJECT_TYPE}"
image: ${PROJECT_IDENTIFIER}/nginx:1.11-alpine
ports:
- "${NGINX_PORT}:${NGINX_PORT}"
Expand All @@ -24,8 +27,8 @@ services:
NGINX_DOCUMENT_ROOT: "${NGINX_DOCUMENT_ROOT}"
depends_on:
- "php"
volumes_from:
- "php"
volumes:
- "./Data:/data"

redis:
build: ./Docker/redis
Expand Down

0 comments on commit 23b3c37

Please sign in to comment.