mirror of
https://github.com/N0rthernL1ghts/wordpress.git
synced 2024-11-27 06:30:07 +01:00
Initial commit
This commit is contained in:
parent
6f7b90e712
commit
3a95a4ec0c
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.idea/
|
51
Dockerfile
Normal file
51
Dockerfile
Normal file
|
@ -0,0 +1,51 @@
|
|||
FROM wordpress:php7.4-fpm-alpine AS wordpress-builder
|
||||
|
||||
USER root
|
||||
|
||||
WORKDIR /tmp/build/rootfs
|
||||
|
||||
# Build root filesystem structure (overlay), and copy over neccessary files
|
||||
RUN mkdir -p usr/local/bin \
|
||||
&& mkdir -p usr/local/etc/php/conf.d/ \
|
||||
&& mkdir -p usr/src/ \
|
||||
&& mv /usr/src/wordpress usr/src/ \
|
||||
&& mv /usr/local/etc/php/conf.d/error-logging.ini usr/local/etc/php/conf.d/ \
|
||||
&& mv /usr/local/etc/php/conf.d/opcache-recommended.ini usr/local/etc/php/conf.d/
|
||||
|
||||
|
||||
################################################# APP ##################################################################
|
||||
FROM nlss/php-nginx
|
||||
|
||||
ENV APK_DEPS "zlib-dev libzip-dev libpng-dev icu-dev imagemagick-dev"
|
||||
ENV APK_BUILD_DEPS "curl-dev autoconf alpine-sdk"
|
||||
ENV APK_WP_CLI_DEPS "bash less mysql-client"
|
||||
|
||||
RUN apk add --update --no-cache ${APK_WP_CLI_DEPS} ${APK_DEPS} ${APK_BUILD_DEPS} \
|
||||
&& docker-php-ext-install -j "$(nproc)" \
|
||||
bcmath \
|
||||
exif \
|
||||
gd \
|
||||
mysqli \
|
||||
opcache \
|
||||
zip \
|
||||
intl \
|
||||
&& pecl install redis apcu imagick-3.4.4 \
|
||||
&& docker-php-ext-enable redis apcu imagick \
|
||||
&& apk del ${APK_BUILD_DEPS} \
|
||||
&& rm /tmp/* -rf
|
||||
|
||||
ADD rootfs /
|
||||
COPY ["wp-config.php", "/var/www/html"]
|
||||
COPY --from=wordpress-builder /tmp/build/rootfs /
|
||||
COPY --from=wordpress:cli-php7.4 /usr/local/bin/wp /usr/local/bin/
|
||||
|
||||
ENV WP_CONTENT_ID 2bca7d694c6279bb79bbb642ba4305f9
|
||||
ENV WP_VERSION 5.3.2
|
||||
ENV WP_LOCALE en_GB
|
||||
ENV CRON_ENABLED true
|
||||
|
||||
RUN echo "* * * * * /usr/local/bin/php /var/www/${WEB_ROOT}/wp-cron.php" >> /etc/crontabs/www-data
|
||||
|
||||
VOLUME ["/var/www/${WEB_ROOT}/wp-content"]
|
||||
|
||||
EXPOSE 80/TCP
|
16
rootfs/etc/cont-init.d/10-init-wordpress
Normal file
16
rootfs/etc/cont-init.d/10-init-wordpress
Normal file
|
@ -0,0 +1,16 @@
|
|||
#!/usr/bin/with-contenv bash
|
||||
set -e
|
||||
|
||||
function wp() {
|
||||
# Running as root in container is OK as long as all security implications are observed and maintained
|
||||
/usr/local/bin/wp --allow-root "$@"
|
||||
}
|
||||
|
||||
echo "> Verifying 'Wordpress ${WP_VERSION}' installation..."
|
||||
if wp core version;
|
||||
then
|
||||
echo "> Found 'Wordpress ${WP_VERSION}'"
|
||||
else
|
||||
echo "> Downloading 'Wordpress ${WP_VERSION}'..."
|
||||
wp core download --locale="${WP_LOCALE}" --version="${WP_VERSION}"
|
||||
fi
|
40
rootfs/etc/templates/tmpl-app-nginx.conf
Normal file
40
rootfs/etc/templates/tmpl-app-nginx.conf
Normal file
|
@ -0,0 +1,40 @@
|
|||
server {
|
||||
listen 80;
|
||||
listen [::]:80;
|
||||
|
||||
server_name {{ getenv "VIRTUAL_HOST" | strings.ReplaceAll "," " " }};
|
||||
set $base /var/www;
|
||||
root $base/{{ getenv "WEB_ROOT" }};
|
||||
|
||||
# security
|
||||
include nginxconfig.io/security.conf;
|
||||
|
||||
# logging
|
||||
access_log /var/log/nginx/app-access.log;
|
||||
error_log /var/log/nginx/app-error.log warn;
|
||||
|
||||
# index.php
|
||||
index index.php;
|
||||
|
||||
# index.php fallback
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
|
||||
#Add trailing slash to */wp-admin requests.
|
||||
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
|
||||
|
||||
# handle .php
|
||||
location ~ \.php$ {
|
||||
fastcgi_intercept_errors on;
|
||||
include nginxconfig.io/php_fastcgi.conf;
|
||||
}
|
||||
|
||||
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
|
||||
expires max;
|
||||
log_not_found off;
|
||||
}
|
||||
|
||||
# additional config
|
||||
include nginxconfig.io/general.conf;
|
||||
}
|
0
rootfs/usr/src/.gitkeep
Normal file
0
rootfs/usr/src/.gitkeep
Normal file
113
wp-config.php
Normal file
113
wp-config.php
Normal file
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
/**
|
||||
* The base configuration for WordPress
|
||||
* Adapted for docker environment
|
||||
* @author Aleksandar Puharic <xzero@elite7hackers.net>
|
||||
*
|
||||
* The wp-config.php creation script uses this file during the
|
||||
* installation. You don't have to use the web site, you can
|
||||
* copy this file to "wp-config.php" and fill in the values.
|
||||
*
|
||||
* This file contains the following configurations:
|
||||
*
|
||||
* * MySQL settings
|
||||
* * Secret keys
|
||||
* * Database table prefix
|
||||
* * ABSPATH
|
||||
*
|
||||
* @link https://codex.wordpress.org/Editing_wp-config.php
|
||||
*
|
||||
* @package WordPress
|
||||
*/
|
||||
|
||||
/** Not needed behind the nginx-proxy */
|
||||
define('FORCE_SSL_ADMIN', false);
|
||||
define('FORCE_SSL_LOGIN', false);
|
||||
|
||||
/** Disable cron (will be run by system crond) */
|
||||
define('DISABLE_WP_CRON', true);
|
||||
|
||||
/** Makes it easier to control in docker environment */
|
||||
define('WP_CONTENT_DIR', $_ENV['WORDPRESS_CONTENT_DIR'] ?? (__DIR__ . '/wp-content'));
|
||||
|
||||
/**
|
||||
* Redis Cache
|
||||
*/
|
||||
define('WP_REDIS_HOST', $_ENV['WORDPRESS_REDIS_HOST'] ?? null);
|
||||
define('WP_CACHE', (bool)($_ENV['WORDPRESS_CACHE'] ?? false));
|
||||
define('WP_CACHE_KEY_SALT', $_ENV['WORDPRESS_CACHE_KEY_SALT'] ?? null);
|
||||
|
||||
// ** MySQL settings - You can get this info from your web host ** //
|
||||
/** The name of the database for WordPress */
|
||||
define('DB_NAME', $_ENV['WORDPRESS_DB_NAME'] ?? 'wordpress');
|
||||
|
||||
/** MySQL database username */
|
||||
define('DB_USER', $_ENV['WORDPRESS_DB_USER'] ?? 'wordpress');
|
||||
|
||||
/** MySQL database password */
|
||||
define('DB_PASSWORD', $_ENV['WORDPRESS_DB_PASSWORD'] ?? '');
|
||||
|
||||
/** MySQL hostname */
|
||||
define('DB_HOST', $_ENV['WORDPRESS_DB_HOST'] ?? 'localhost');
|
||||
|
||||
/** Database Charset to use in creating database tables. */
|
||||
define('DB_CHARSET', $_ENV['WORDPRESS_DB_CHARSET'] ?? 'utf8mb4');
|
||||
|
||||
/** The Database Collate type. Don't change this if in doubt. */
|
||||
define('DB_COLLATE', $_ENV['WORDPRESS_DB_COLLATION'] ?? '');
|
||||
|
||||
/**#@+
|
||||
* Authentication Unique Keys and Salts.
|
||||
*
|
||||
* Change these to different unique phrases!
|
||||
* You can generate these using the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}
|
||||
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
|
||||
*
|
||||
* @since 2.6.0
|
||||
*/
|
||||
define('AUTH_KEY', $_ENV['WORDPRESS_AUTH_KEY'] ?? '');
|
||||
define('SECURE_AUTH_KEY', $_ENV['WORDPRESS_SECURE_AUTH_KEY'] ?? '');
|
||||
define('LOGGED_IN_KEY', $_ENV['WORDPRESS_LOGGED_IN_KEY'] ?? '');
|
||||
define('NONCE_KEY', $_ENV['WORDPRESS_NONCE_KEY'] ?? '');
|
||||
define('AUTH_SALT', $_ENV['WORDPRESS_AUTH_SALT'] ?? '');
|
||||
define('SECURE_AUTH_SALT', $_ENV['WORDPRESS_SECURE_AUTH_SALT'] ?? '');
|
||||
define('LOGGED_IN_SALT', $_ENV['WORDPRESS_LOGGED_IN_SALT'] ?? '');
|
||||
define('NONCE_SALT', $_ENV['WORDPRESS_NONCE_SALT'] ?? '');
|
||||
|
||||
/**#@-*/
|
||||
|
||||
/**
|
||||
* WordPress Database Table prefix.
|
||||
*
|
||||
* You can have multiple installations in one database if you give each
|
||||
* a unique prefix. Only numbers, letters, and underscores please!
|
||||
*/
|
||||
$table_prefix = $_ENV['WORDPRESS_TABLE_PREFIX'] ?? 'wp_';
|
||||
|
||||
/**
|
||||
* For developers: WordPress debugging mode.
|
||||
*
|
||||
* Change this to true to enable the display of notices during development.
|
||||
* It is strongly recommended that plugin and theme developers use WP_DEBUG
|
||||
* in their development environments.
|
||||
*
|
||||
* For information on other constants that can be used for debugging,
|
||||
* visit the Codex.
|
||||
*
|
||||
* @link https://codex.wordpress.org/Debugging_in_WordPress
|
||||
*/
|
||||
define('WP_DEBUG', (bool)($_ENV['WORDPRESS_DEBUG'] ?? false));
|
||||
|
||||
/**
|
||||
* Other settings
|
||||
*/
|
||||
define('FS_METHOD', 'direct');
|
||||
|
||||
/* That's all, stop editing! Happy blogging. */
|
||||
|
||||
/** Absolute path to the WordPress directory. */
|
||||
if ( !defined('ABSPATH') )
|
||||
define('ABSPATH', __DIR__ . '/');
|
||||
|
||||
/** Sets up WordPress vars and included files. */
|
||||
require_once(ABSPATH . 'wp-settings.php');
|
Loading…
Reference in New Issue
Block a user