Compare commits

..
7 changed files with 52 additions and 17 deletions
+9 -1
View File
@@ -2,10 +2,15 @@ TYPE=wordpress
TIMEOUT=300 TIMEOUT=300
ENABLE_AUTO_UPDATE=true ENABLE_AUTO_UPDATE=true
COMPOSE_FILE="compose.yml" COMPOSE_FILE="compose.yml"
ENABLE_BACKUPS=true
DOMAIN=wordpress.example.com DOMAIN=wordpress.example.com
## Domain aliases ## Domain aliases
#EXTRA_DOMAINS=', `www.wordpress.example.com`' #EXTRA_DOMAINS=', `www.wordpress.example.com`'
# Redirects
# All redirect domains have to be added to EXTRA_DOMAINS as well)
# multiple redirects can be added by seperating them with a | character
#REDIRECTS=www.wordpress.example.com
LETS_ENCRYPT_ENV=production LETS_ENCRYPT_ENV=production
# Setup Wordpress settings on each deploy: # Setup Wordpress settings on each deploy:
@@ -37,6 +42,10 @@ SECRET_DB_PASSWORD_VERSION=v1
# Multisite (see README) # Multisite (see README)
#MULTISITE=enable # either 'enable', 'subdomain' or 'subfolder' #MULTISITE=enable # either 'enable', 'subdomain' or 'subfolder'
# File upload settings
#UPLOAD_MAX_SIZE=256M
#UPLOAD_MAX_TIME=30
# Local SMTP relay # Local SMTP relay
#COMPOSE_FILE="$COMPOSE_FILE:compose.mailrelay.yml" #COMPOSE_FILE="$COMPOSE_FILE:compose.mailrelay.yml"
#SMTP_HOST="postfix_relay_app" #SMTP_HOST="postfix_relay_app"
@@ -72,4 +81,3 @@ SECRET_DB_PASSWORD_VERSION=v1
# FTP # FTP
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp.yml" #COMPOSE_FILE="$COMPOSE_FILE:compose.ftp.yml"
#SECRET_FTP_PASS_VERSION=v1 #SECRET_FTP_PASS_VERSION=v1
#USERS_CONF_VERSION=v1
+6 -1
View File
@@ -1,8 +1,9 @@
export PHP_UPLOADS_CONF_VERSION=v3 export PHP_UPLOADS_CONF_VERSION=v4
export ENTRYPOINT_CONF_VERSION=v7 export ENTRYPOINT_CONF_VERSION=v7
export ENTRYPOINT_MAILRELAY_CONF_VERSION=v2 export ENTRYPOINT_MAILRELAY_CONF_VERSION=v2
export MSMTP_CONF_VERSION=v4 export MSMTP_CONF_VERSION=v4
export HTACCESS_CONF_VERSION=v2 export HTACCESS_CONF_VERSION=v2
export USERS_CONF_VERSION=v1
wp() { wp() {
su -p www-data -s /bin/bash -c "/usr/local/bin/wp $@" su -p www-data -s /bin/bash -c "/usr/local/bin/wp $@"
@@ -89,3 +90,7 @@ set_authentik(){
fix_mysql() { fix_mysql() {
echo "ALTER TABLE mysql.column_stats MODIFY histogram longblob; ALTER TABLE mysql.column_stats MODIFY hist_type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB');" | mysql -u root -p$(cat /run/secrets/db_root_password) echo "ALTER TABLE mysql.column_stats MODIFY histogram longblob; ALTER TABLE mysql.column_stats MODIFY hist_type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB');" | mysql -u root -p$(cat /run/secrets/db_root_password)
} }
show_plugins() {
wp "plugin list --fields=name,status,wporg_status,version,update_version,auto_update,tested_up_to,wporg_last_updated"
}
+12
View File
@@ -0,0 +1,12 @@
authentik:
uncomment:
- compose.authentik.yml
- AUTHENTIK_DOMAIN
- SECRET_AUTHENTIK_SECRET_VERSION
- SECRET_AUTHENTIK_ID_VERSION
- LOGIN_TYPE
inital-hooks:
- app set_authentik
shared_secrets:
wordpress_secret: authentik_secret
wordpress_id: authentik_id
+13 -12
View File
@@ -3,7 +3,7 @@ version: "3.8"
services: services:
app: app:
image: "wordpress:6.5.2" image: "wordpress:6.7.1"
volumes: volumes:
- "wordpress_content:/var/www/html/wp-content/" - "wordpress_content:/var/www/html/wp-content/"
networks: networks:
@@ -57,13 +57,15 @@ services:
#- "traefik.http.routers.${STACK_NAME}.rule=HostRegexp(`{subdomain:.+}.${DOMAIN}`, `${DOMAIN}`)" #- "traefik.http.routers.${STACK_NAME}.rule=HostRegexp(`{subdomain:.+}.${DOMAIN}`, `${DOMAIN}`)"
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure"
- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.regex=^https://(${REDIRECTS})/(.*)"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.replacement=https://${DOMAIN}/$${2}"
- "traefik.http.middlewares.${STACK_NAME}-redirect.redirectregex.permanent=true"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
- "backupbot.backup=true" - "coop-cloud.${STACK_NAME}.version=2.13.0+6.7.1"
- "backupbot.backup.path=/var/www/html"
- "coop-cloud.${STACK_NAME}.version=2.9.0+6.5.2"
db: db:
image: "mariadb:11.3" image: "mariadb:11.6"
volumes: volumes:
- "mariadb:/var/lib/mysql" - "mariadb:/var/lib/mysql"
networks: networks:
@@ -78,12 +80,10 @@ services:
- db_root_password - db_root_password
deploy: deploy:
labels: labels:
backupbot.backup: "true" backupbot.backup: "${ENABLE_BACKUPS:-true}"
backupbot.backup.pre-hook: "sh -c 'mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress | gzip > /var/lib/mysql/dump.sql.gz'" backupbot.backup.pre-hook: "mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress | gzip > /var/lib/mysql/dump.sql.gz"
backupbot.backup.path: "/var/lib/mysql/dump.sql.gz" backupbot.backup.volumes.mariadb.path: "dump.sql.gz"
backupbot.backup.post-hook: "rm -f /var/lib/mysql/dump.sql.gz" backupbot.restore.post-hook: "gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql"
backupbot.restore: "true"
backupbot.restore.post-hook: "sh -c 'gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql'"
networks: networks:
backend: backend:
@@ -109,7 +109,8 @@ configs:
template_driver: golang template_driver: golang
php_uploads_conf: php_uploads_conf:
name: ${STACK_NAME}_php_uploads_conf_${PHP_UPLOADS_CONF_VERSION} name: ${STACK_NAME}_php_uploads_conf_${PHP_UPLOADS_CONF_VERSION}
file: uploads.ini file: uploads.ini.tmpl
template_driver: golang
htaccess_conf: htaccess_conf:
name: ${STACK_NAME}_htaccess_conf_${HTACCESS_CONF_VERSION} name: ${STACK_NAME}_htaccess_conf_${HTACCESS_CONF_VERSION}
file: htaccess.tmpl file: htaccess.tmpl
+1
View File
@@ -0,0 +1 @@
Adds redirects and alakazam integration
-3
View File
@@ -1,3 +0,0 @@
file_uploads = On
upload_max_filesize = 256M
post_max_size = 256M
+11
View File
@@ -0,0 +1,11 @@
{{ $upload_max_size := "256M" }}
{{ if ne (env "UPLOAD_MAX_SIZE") "" }} {{ $upload_max_size = env "UPLOAD_MAX_SIZE" }} {{ end }}
{{ $upload_max_time := "30" }}
{{ if ne (env "UPLOAD_MAX_TIME") "" }} {{ $upload_max_time = env "UPLOAD_MAX_TIME" }} {{ end }}
file_uploads = On
upload_max_filesize = {{ $upload_max_size }}
post_max_size = {{ $upload_max_size }}
memory_limit = {{ $upload_max_size }}
max_execution_time = {{ $upload_max_time }}
max_input_time = {{ $upload_max_time }}