Adding wordpress app.
This commit is contained in:
@@ -23,4 +23,6 @@ services:
|
||||
- lb
|
||||
networks:
|
||||
lb:
|
||||
|
||||
ipam:
|
||||
config:
|
||||
- subnet: 172.30.0.0/16
|
||||
|
||||
3
all-apps/wordpress/8.4/Caddyfile
Normal file
3
all-apps/wordpress/8.4/Caddyfile
Normal file
@@ -0,0 +1,3 @@
|
||||
{$wordpress_SUBDOMAIN}.{$ROOT_DOMAIN} {
|
||||
reverse_proxy http://wordpress_caddy:80
|
||||
}
|
||||
11
all-apps/wordpress/8.4/Caddyfile-internal
Normal file
11
all-apps/wordpress/8.4/Caddyfile-internal
Normal file
@@ -0,0 +1,11 @@
|
||||
:80 {
|
||||
root * /var/www/html
|
||||
|
||||
encode gzip zstd
|
||||
|
||||
php_fastcgi wordpress:9000 {
|
||||
trusted_proxies 172.30.0.0/16
|
||||
}
|
||||
|
||||
file_server
|
||||
}
|
||||
8
all-apps/wordpress/8.4/Makefile
Normal file
8
all-apps/wordpress/8.4/Makefile
Normal file
@@ -0,0 +1,8 @@
|
||||
IMAGE_DEPS := $(IMAGE_DEPS) \
|
||||
app/wordpress/wordpress_db_password \
|
||||
app/wordpress/wordpress_db_root_password
|
||||
|
||||
app/wordpress/wordpress_db_password: $(apps_config)
|
||||
bash -c 'source $(apps_config); printf "%s\n" "$$WORDPRESS_DB_PASSWORD" > $@'
|
||||
app/wordpress/wordpress_db_root_password: $(apps_config)
|
||||
bash -c 'source $(apps_config); printf "%s\n" "$$WORDPRESS_DB_ROOT_PASSWORD" > $@'
|
||||
4
all-apps/wordpress/8.4/custom.ini
Normal file
4
all-apps/wordpress/8.4/custom.ini
Normal file
@@ -0,0 +1,4 @@
|
||||
upload_max_filesize = 256M
|
||||
post_max_size = 256M
|
||||
memory_limit = 256M
|
||||
max_execution_time = 300
|
||||
108
all-apps/wordpress/8.4/docker-compose.yaml
Normal file
108
all-apps/wordpress/8.4/docker-compose.yaml
Normal file
@@ -0,0 +1,108 @@
|
||||
secrets:
|
||||
wordpress_db_password:
|
||||
file: ./wordpress/wordpress_db_password
|
||||
wordpress_db_root_password:
|
||||
file: ./wordpress/wordpress_db_root_password
|
||||
|
||||
services:
|
||||
|
||||
wordpress_caddy:
|
||||
image: docker.io/caddy:2.11.4-alpine
|
||||
volumes:
|
||||
- ./wordpress/Caddyfile-internal:/etc/caddy/Caddyfile:ro
|
||||
- /nassella/wordpress/caddy-config:/config
|
||||
- /nassella/wordpress/caddy-data:/data
|
||||
- /nassella/wordpress/var-www-html:/var/www/html:ro
|
||||
networks:
|
||||
- lb
|
||||
- wordpress_instance
|
||||
restart: unless-stopped
|
||||
depends_on:
|
||||
- wordpress
|
||||
wordpress:
|
||||
image: wordpress:php8.4-fpm
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
WORDPRESS_DB_HOST: wordpress_db
|
||||
WORDPRESS_DB_USER: wordpress
|
||||
WORDPRESS_DB_PASSWORD_FILE: /run/secrets/wordpress_db_password
|
||||
WORDPRESS_DB_NAME: wordpress
|
||||
depends_on:
|
||||
wordpress_db:
|
||||
condition: service_healthy
|
||||
volumes:
|
||||
- /nassella/wordpress/var-www-html:/var/www/html
|
||||
- ./wordpress/custom.ini:/usr/local/etc/php/conf.d/custom.ini:ro
|
||||
networks:
|
||||
- wordpress_db
|
||||
- wordpress_instance
|
||||
- wordpress_outbound
|
||||
secrets:
|
||||
- wordpress_db_password
|
||||
|
||||
wordpress_db:
|
||||
image: mysql:9.7
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_DATABASE: wordpress
|
||||
MYSQL_USER: wordpress
|
||||
MYSQL_PASSWORD_FILE: /run/secrets/wordpress_db_password
|
||||
MYSQL_ROOT_PASSWORD_FILE: /run/secrets/wordpress_db_root_password
|
||||
volumes:
|
||||
- /nassella/wordpress/var-lib-mysql:/var/lib/mysql
|
||||
networks:
|
||||
- wordpress_db
|
||||
healthcheck:
|
||||
test:
|
||||
[
|
||||
"CMD-SHELL",
|
||||
"MYSQL_PWD=$$(cat /run/secrets/wordpress_mysql_root_password) mysqladmin ping -h 127.0.0.1 -uroot --silent"
|
||||
]
|
||||
interval: 1s
|
||||
start_period: 30s
|
||||
start_interval: 10s
|
||||
retries: 120
|
||||
secrets:
|
||||
- wordpress_db_password
|
||||
- wordpress_db_root_password
|
||||
|
||||
# wordpress_init:
|
||||
# image: wordpress:cli-php8.4
|
||||
# restart: "no"
|
||||
# depends_on:
|
||||
# - wordpress_db
|
||||
# - wordpress
|
||||
# environment:
|
||||
# WORDPRESS_DB_HOST: db
|
||||
# WORDPRESS_DB_USER: exampleuser
|
||||
# WORDPRESS_DB_PASSWORD: examplepass
|
||||
# WORDPRESS_DB_NAME: exampledb
|
||||
|
||||
# WP_URL: "https://wp.nassella.org"
|
||||
# WP_TITLE: "Nassella"
|
||||
# WP_ADMIN_USER: "admin"
|
||||
# WP_ADMIN_PASSWORD: "admin"
|
||||
# WP_ADMIN_EMAIL: "admin@example.org"
|
||||
|
||||
# OIDC_CLIENT_ID: wordpress
|
||||
# OIDC_CLIENT_SECRET: "secret"
|
||||
# OIDC_PROVIDER: "https://auth.nassella.org"
|
||||
|
||||
# volumes:
|
||||
# - /nassella/wordpress/var-www-html:/var/www/html
|
||||
# - ./init:/scripts
|
||||
|
||||
# entrypoint:
|
||||
# - /bin/bash
|
||||
# - /scripts/init.sh
|
||||
|
||||
networks:
|
||||
lb:
|
||||
wordpress_instance:
|
||||
driver: bridge
|
||||
internal: true
|
||||
wordpress_outbound:
|
||||
driver: bridge
|
||||
wordpress_db:
|
||||
driver: bridge
|
||||
internal: true
|
||||
48
all-apps/wordpress/8.4/init.sh
Normal file
48
all-apps/wordpress/8.4/init.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
echo "Waiting for db..."
|
||||
|
||||
until wp db check --allow-root
|
||||
do
|
||||
sleep 5
|
||||
done
|
||||
|
||||
echo "db ready"
|
||||
|
||||
if ! wp core is-installed --allow-root
|
||||
then
|
||||
echo "installing wp"
|
||||
|
||||
wp core install \
|
||||
--url="$WP_URL" \
|
||||
--title="$WP_TITLE" \
|
||||
--admin_user="$WP_ADMIN_USER" \
|
||||
--admin_password="$WP_ADMIN_PASSWORD" \
|
||||
--admin_email="$WP_ADMIN_EMAIL" \
|
||||
--skip-email \
|
||||
--allow-root
|
||||
fi
|
||||
|
||||
echo "installing plugins"
|
||||
|
||||
if ! wp plugin is-installed daggerhart-openid-connect-generic
|
||||
then
|
||||
wp plugin install daggerhart-openid-connect-generic \
|
||||
--activate \
|
||||
--allow-root
|
||||
fi
|
||||
|
||||
if ! wp plugin is-active daggerhart-openid-connect-generic
|
||||
then
|
||||
wp plugin activate daggerhart-openid-connect-generic
|
||||
fi
|
||||
|
||||
echo "plugins installed. configuring plugins"
|
||||
|
||||
# after installing the plugs we can then use the plugin's CLI
|
||||
# to configure the plugin
|
||||
wp option update openid_connect_generic_settings 'the settings' # TODO lookup
|
||||
# or
|
||||
wp option patch update ...
|
||||
Reference in New Issue
Block a user