add: wordpress stack
This commit is contained in:
10
docker/nginx/Dockerfile
Normal file
10
docker/nginx/Dockerfile
Normal file
@@ -0,0 +1,10 @@
|
||||
ARG NGINX_VERSION=stable
|
||||
|
||||
FROM nginx:${NGINX_VERSION}-alpine
|
||||
|
||||
RUN rm -rf /etc/nginx/conf.d/default.conf
|
||||
|
||||
COPY --chmod=755 /scripts/docker-entrypoint.d/* /docker-entrypoint.d
|
||||
COPY templates /etc/nginx/templates
|
||||
|
||||
EXPOSE 80
|
||||
@@ -0,0 +1,2 @@
|
||||
#! /bin/sh
|
||||
echo RUNNING EXAMPLE SCRIPT...;
|
||||
25
docker/nginx/templates/global/restrictions.conf.template
Normal file
25
docker/nginx/templates/global/restrictions.conf.template
Normal file
@@ -0,0 +1,25 @@
|
||||
# Global restrictions configuration file.
|
||||
# Designed to be included in any server {} block.
|
||||
location = /favicon.ico {
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
# Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
|
||||
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
|
||||
location ~ /\. {
|
||||
deny all;
|
||||
}
|
||||
|
||||
# Deny access to any files with a .php extension in the uploads directory
|
||||
# Works in sub-directory installs and also in multisite network
|
||||
# Keep logging the requests to parse later (or to pass to firewall utilities such as fail2ban)
|
||||
location ~* /(?:uploads|files)/.*\.php$ {
|
||||
deny all;
|
||||
}
|
||||
48
docker/nginx/templates/wordpress-regular-site.conf.template
Normal file
48
docker/nginx/templates/wordpress-regular-site.conf.template
Normal file
@@ -0,0 +1,48 @@
|
||||
# WordPress single site rules.
|
||||
# Designed to be included in any server {} block.
|
||||
# Upstream to abstract backend connection(s) for php
|
||||
upstream php {
|
||||
server unix:/tmp/php-cgi.socket;
|
||||
server app:9000;
|
||||
}
|
||||
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name _;
|
||||
root /var/www/html;
|
||||
index index.php index.html;
|
||||
|
||||
access_log /dev/stdout;
|
||||
|
||||
location = /favicon.ico {
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location = /robots.txt {
|
||||
allow all;
|
||||
log_not_found off;
|
||||
access_log off;
|
||||
}
|
||||
|
||||
location / {
|
||||
# This is cool because no php is touched for static content.
|
||||
# include the "?$args" part so non-default permalinks doesn't break when using query string
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
|
||||
include fastcgi.conf;
|
||||
fastcgi_intercept_errors on;
|
||||
fastcgi_pass php;
|
||||
}
|
||||
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||
expires max;
|
||||
log_not_found off;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user