Compare commits
1 Commits
d6b50b7485
...
working
Author | SHA1 | Date | |
---|---|---|---|
9f41e313aa |
32
.gitignore
vendored
32
.gitignore
vendored
@ -1,26 +1,28 @@
|
|||||||
# Application
|
# Application
|
||||||
/src/web/app/plugins/*
|
/bedrock/web/app/plugins/*
|
||||||
/src/!web/app/plugins/.gitkeep
|
/bedrock/!web/app/plugins/.gitkeep
|
||||||
/src/web/app/mu-plugins/*
|
/bedrock/web/app/mu-plugins/*/
|
||||||
/src/web/app/upgrade
|
/bedrock/web/app/upgrade
|
||||||
/src/web/app/uploads/*
|
/bedrock/web/app/uploads/*
|
||||||
/src/!web/app/uploads/.gitkeep
|
/bedrock/!web/app/uploads/.gitkeep
|
||||||
|
|
||||||
# WordPress
|
# WordPress
|
||||||
/src/web/wp
|
/bedrock/web/wp
|
||||||
/src/web/.htaccess
|
/bedrock/web/.htaccess
|
||||||
|
|
||||||
# Logs
|
# Logs
|
||||||
/src/**/*.log
|
*.log
|
||||||
|
|
||||||
# Dotenv
|
# Dotenv
|
||||||
/src/.env
|
.env
|
||||||
/src/.env.*
|
.env.*
|
||||||
!/src/.env.example
|
!.env.example
|
||||||
!/src/.env.sample
|
/bedrock/.env
|
||||||
|
/bedrock/.env.*
|
||||||
|
/bedrock/!.env.example
|
||||||
|
|
||||||
# Composer
|
# Composer
|
||||||
/src/vendor
|
/bedrock/vendor
|
||||||
|
|
||||||
# WP-CLI
|
# WP-CLI
|
||||||
/src/wp-cli.local.yml
|
wp-cli.local.yml
|
||||||
|
7
Dockerfile
Normal file
7
Dockerfile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
FROM php:8.0-apache
|
||||||
|
|
||||||
|
COPY entrypoint-wordpress.sh /usr/local/bin/
|
||||||
|
|
||||||
|
COPY apache-docker.conf /etc/apache2/sites-enabled/
|
||||||
|
|
||||||
|
ENTRYPOINT /usr/local/bin/entrypoint-wordpress.sh
|
10
README.md
10
README.md
@ -1,10 +0,0 @@
|
|||||||
# wordpress-bedrock-docker
|
|
||||||
|
|
||||||
A template for a Wordpress site using Bedrock (Composer) + Docker.
|
|
||||||
|
|
||||||
## Quick start
|
|
||||||
|
|
||||||
1. Create a new repository in Gitea, using this repository as a template
|
|
||||||
2. Clone the new repository
|
|
||||||
3. Copy `src/.env.example` to `src/.env`
|
|
||||||
4. Run `docker-compose up`
|
|
17
apache-docker.conf
Normal file
17
apache-docker.conf
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
<VirtualHost *:80>
|
||||||
|
|
||||||
|
ServerName localhost
|
||||||
|
|
||||||
|
ServerAdmin webmaster@localhost
|
||||||
|
DocumentRoot /var/www/html/web
|
||||||
|
|
||||||
|
ErrorLog /var/log/apache2/error.log
|
||||||
|
CustomLog /var/log/apache2/access.log combined
|
||||||
|
|
||||||
|
<Directory /var/www/html>
|
||||||
|
Options Indexes FollowSymLinks
|
||||||
|
AllowOverride All
|
||||||
|
Require all granted
|
||||||
|
</Directory>
|
||||||
|
|
||||||
|
</VirtualHost>
|
@ -1,17 +1,17 @@
|
|||||||
DB_NAME='wordpress'
|
DB_NAME='database_name'
|
||||||
DB_USER='wordpress'
|
DB_USER='database_user'
|
||||||
DB_PASSWORD='wordpress'
|
DB_PASSWORD='database_password'
|
||||||
|
|
||||||
# Optionally, you can use a data source name (DSN)
|
# Optionally, you can use a data source name (DSN)
|
||||||
# When using a DSN, you can remove the DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST variables
|
# When using a DSN, you can remove the DB_NAME, DB_USER, DB_PASSWORD, and DB_HOST variables
|
||||||
# DATABASE_URL='mysql://database_user:database_password@database_host:database_port/database_name'
|
# DATABASE_URL='mysql://database_user:database_password@database_host:database_port/database_name'
|
||||||
|
|
||||||
# Optional database variables
|
# Optional database variables
|
||||||
DB_HOST='db'
|
# DB_HOST='localhost'
|
||||||
# DB_PREFIX='wp_'
|
# DB_PREFIX='wp_'
|
||||||
|
|
||||||
WP_ENV='development'
|
WP_ENV='development'
|
||||||
WP_HOME='http://localhost'
|
WP_HOME='http://example.com'
|
||||||
WP_SITEURL="${WP_HOME}/wp"
|
WP_SITEURL="${WP_HOME}/wp"
|
||||||
|
|
||||||
# Specify optional debug.log path
|
# Specify optional debug.log path
|
@ -39,7 +39,8 @@
|
|||||||
"roots/bedrock-disallow-indexing": "^2.0",
|
"roots/bedrock-disallow-indexing": "^2.0",
|
||||||
"roots/wordpress": "5.8.2",
|
"roots/wordpress": "5.8.2",
|
||||||
"roots/wp-config": "1.0.0",
|
"roots/wp-config": "1.0.0",
|
||||||
"roots/wp-password-bcrypt": "1.1.0"
|
"roots/wp-password-bcrypt": "1.1.0",
|
||||||
|
"wp-cli/wp-cli-bundle": "^2.5"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"squizlabs/php_codesniffer": "^3.6.0",
|
"squizlabs/php_codesniffer": "^3.6.0",
|
5489
bedrock/composer.lock
generated
Normal file
5489
bedrock/composer.lock
generated
Normal file
File diff suppressed because it is too large
Load Diff
16
bedrock/web/app/mu-plugins/bedrock-autoloader.php
Normal file
16
bedrock/web/app/mu-plugins/bedrock-autoloader.php
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Plugin Name: Bedrock Autoloader
|
||||||
|
* Plugin URI: https://github.com/roots/bedrock-autoloader
|
||||||
|
* Description: An autoloader that enables standard plugins to be required just like must-use plugins. The autoloaded plugins are included during mu-plugin loading. An asterisk (*) next to the name of the plugin designates the plugins that have been autoloaded.
|
||||||
|
* Version: 1.0.3
|
||||||
|
* Author: Roots
|
||||||
|
* Author URI: https://roots.io/
|
||||||
|
* License: MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Roots\Bedrock;
|
||||||
|
|
||||||
|
if (is_blog_installed() && class_exists(Autoloader::class)) {
|
||||||
|
new Autoloader();
|
||||||
|
}
|
14
bedrock/web/app/mu-plugins/register-theme-directory.php
Normal file
14
bedrock/web/app/mu-plugins/register-theme-directory.php
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Plugin Name: Register Theme Directory
|
||||||
|
* Plugin URI: https://github.com/roots/bedrock/
|
||||||
|
* Description: Register default theme directory
|
||||||
|
* Version: 1.0.0
|
||||||
|
* Author: Roots
|
||||||
|
* Author URI: https://roots.io/
|
||||||
|
* License: MIT License
|
||||||
|
*/
|
||||||
|
|
||||||
|
if (!defined('WP_DEFAULT_THEME')) {
|
||||||
|
register_theme_directory(ABSPATH . 'wp-content/themes');
|
||||||
|
}
|
@ -1,25 +1,27 @@
|
|||||||
---
|
---
|
||||||
version: '3.1'
|
version: "3"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
web:
|
wordpress:
|
||||||
image: nginx:alpine
|
image: "thecoopcloud/wordpress:5.8.2-php7.4"
|
||||||
working_dir: /app
|
build: .
|
||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
volumes:
|
volumes:
|
||||||
- ./nginx.conf:/etc/nginx/conf.d/default.conf:cached
|
- "./bedrock/:/var/www/html/"
|
||||||
- ./src:/app:cached
|
- "./entrypoint-wordpress.sh:/usr/local/bin/entrypoint-wordpress.sh"
|
||||||
|
environment:
|
||||||
php:
|
- WORDPRESS_DB_HOST=db
|
||||||
image: "thecoopcloud/wordpress:5.8.2-php7.4-fpm-bedrock"
|
- WORDPRESS_DB_USER=wordpress
|
||||||
working_dir: /app
|
- WORDPRESS_DB_PASSWORD=wordpress
|
||||||
user: 1000:1000
|
- WORDPRESS_DB_NAME=wordpress
|
||||||
volumes:
|
- WORDPRESS_CONFIG_EXTRA=${WORDPRESS_CONFIG_EXTRA}
|
||||||
- ./src:/app:cached
|
- WORDPRESS_DEBUG=${WORDPRESS_DEBUG}
|
||||||
|
- PHP_EXTENSIONS
|
||||||
|
container_name: "${PROJECT_NAME}_wordpress"
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mariadb:10.4
|
image: "mariadb:10.6"
|
||||||
volumes:
|
volumes:
|
||||||
- "mariadb:/var/lib/mysql"
|
- "mariadb:/var/lib/mysql"
|
||||||
environment:
|
environment:
|
||||||
@ -27,6 +29,10 @@ services:
|
|||||||
- MYSQL_DATABASE=wordpress
|
- MYSQL_DATABASE=wordpress
|
||||||
- MYSQL_USER=wordpress
|
- MYSQL_USER=wordpress
|
||||||
- MYSQL_PASSWORD=wordpress
|
- MYSQL_PASSWORD=wordpress
|
||||||
|
container_name: "${PROJECT_NAME}_db"
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
mariadb:
|
mariadb:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
backend:
|
||||||
|
15
entrypoint-wordpress.sh
Executable file
15
entrypoint-wordpress.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -n "$PHP_EXTENSIONS" ]; then
|
||||||
|
docker-php-ext-install "$PHP_EXTENSIONS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
chown -R www-data:www-data /var/www/html
|
||||||
|
|
||||||
|
if [ -n "$*" ]; then
|
||||||
|
"$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Upstream ENTRYPOINT
|
||||||
|
# https://github.com/docker-library/wordpress/blob/master/php7.4/apache/Dockerfile#L120
|
||||||
|
apache2-foreground
|
48
nginx.conf
48
nginx.conf
@ -1,48 +0,0 @@
|
|||||||
server {
|
|
||||||
listen 80 default_server;
|
|
||||||
listen [::]:80 default_server;
|
|
||||||
|
|
||||||
server_name _;
|
|
||||||
|
|
||||||
client_max_body_size 128M;
|
|
||||||
|
|
||||||
gzip on;
|
|
||||||
gzip_proxied any;
|
|
||||||
gzip_types text/plain text/xml text/css application/x-javascript;
|
|
||||||
gzip_vary on;
|
|
||||||
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
|
|
||||||
|
|
||||||
sendfile on;
|
|
||||||
sendfile_max_chunk 512k;
|
|
||||||
|
|
||||||
root /app/web;
|
|
||||||
|
|
||||||
access_log off;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
include /etc/nginx/mime.types;
|
|
||||||
|
|
||||||
root /app/web;
|
|
||||||
index index.html index.htm index.php;
|
|
||||||
|
|
||||||
try_files $uri $uri/ /index.php?q=$uri&$args;
|
|
||||||
}
|
|
||||||
|
|
||||||
location ~ .php$ {
|
|
||||||
include fastcgi.conf;
|
|
||||||
|
|
||||||
fastcgi_read_timeout 300;
|
|
||||||
fastcgi_pass php:9000;
|
|
||||||
|
|
||||||
fastcgi_index index.php;
|
|
||||||
fastcgi_param SCRIPT_FILENAME /app/web/$fastcgi_script_name;
|
|
||||||
fastcgi_param PATH_INFO $fastcgi_script_name;
|
|
||||||
|
|
||||||
fastcgi_param PHP_VALUE "error_log=/var/log/nginx/application_php_errors.log";
|
|
||||||
fastcgi_buffers 16 16k;
|
|
||||||
fastcgi_buffer_size 32k;
|
|
||||||
|
|
||||||
include fastcgi_params;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
1472
src/composer.lock
generated
1472
src/composer.lock
generated
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user