Compare commits
32 Commits
2.7.2+6.4.
...
main
Author | SHA1 | Date | |
---|---|---|---|
74282d5658 | |||
ab7716bf1e | |||
b0cc5a49a1 | |||
3cca5d2cf3 | |||
f403648cf6 | |||
83f724a316 | |||
e6b9f8117f | |||
e7aef38d3b | |||
e08838561d | |||
04d26a59a9 | |||
591019112e | |||
76e9b80fbd | |||
f49fa05ded | |||
716e6df3cd | |||
457c2defaf | |||
37ff3e9b1b | |||
c5443cc14b | |||
34f70889e3 | |||
af04e30e36 | |||
17574fd3fe | |||
8b6983d240 | |||
6fb30c5bc1 | |||
929bfb4239 | |||
7e4ff5c075 | |||
564db5b63f | |||
cf9b5f529e | |||
240b70a967 | |||
7f6b6a5ff2 | |||
4d99aae234 | |||
959484f5e5 | |||
7ef8e5515d | |||
770ef4932a |
@ -21,9 +21,10 @@ steps:
|
|||||||
SECRET_DB_ROOT_PASSWORD_VERSION: v1
|
SECRET_DB_ROOT_PASSWORD_VERSION: v1
|
||||||
PHP_UPLOADS_CONF_VERSION: v1
|
PHP_UPLOADS_CONF_VERSION: v1
|
||||||
ENTRYPOINT_CONF_VERSION: v1
|
ENTRYPOINT_CONF_VERSION: v1
|
||||||
|
HTACCESS_CONF_VERSION: v1
|
||||||
trigger:
|
trigger:
|
||||||
branch:
|
branch:
|
||||||
- master
|
- main
|
||||||
---
|
---
|
||||||
kind: pipeline
|
kind: pipeline
|
||||||
name: generate recipe catalogue
|
name: generate recipe catalogue
|
||||||
@ -36,7 +37,7 @@ steps:
|
|||||||
from_secret: drone_abra-bot_token
|
from_secret: drone_abra-bot_token
|
||||||
fork: true
|
fork: true
|
||||||
repositories:
|
repositories:
|
||||||
- coop-cloud/auto-recipes-catalogue-json
|
- toolshed/auto-recipes-catalogue-json
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
event: tag
|
event: tag
|
||||||
|
21
.env.sample
21
.env.sample
@ -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"
|
||||||
@ -67,3 +76,15 @@ SECRET_DB_PASSWORD_VERSION=v1
|
|||||||
# Wide-open CORS
|
# Wide-open CORS
|
||||||
# 🚩🚩 dangerous, use only for development sites!
|
# 🚩🚩 dangerous, use only for development sites!
|
||||||
#CORS_ALLOW_ALL=1
|
#CORS_ALLOW_ALL=1
|
||||||
|
|
||||||
|
|
||||||
|
# FTP
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp.yml"
|
||||||
|
#SECRET_FTP_PASS_VERSION=v1
|
||||||
|
# You can use a Port between 2220-2225
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2220.yml"
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2221.yml"
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2222.yml"
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2223.yml"
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2224.yml"
|
||||||
|
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2225.yml"
|
||||||
|
@ -7,7 +7,7 @@ Coöp Cloud + [Wordpress](https://wordpress.org) = 🥳
|
|||||||
<!-- metadata -->
|
<!-- metadata -->
|
||||||
|
|
||||||
* **Category**: Apps
|
* **Category**: Apps
|
||||||
* **Status**: 3, stable
|
* **Status**: 4
|
||||||
* **Image**: [`wordpress`](https://hub.docker.com/_/wordpress), 4, upstream
|
* **Image**: [`wordpress`](https://hub.docker.com/_/wordpress), 4, upstream
|
||||||
* **Healthcheck**: Yes
|
* **Healthcheck**: Yes
|
||||||
* **Backups**: Yes
|
* **Backups**: Yes
|
||||||
|
20
abra.sh
20
abra.sh
@ -1,13 +1,25 @@
|
|||||||
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 $@"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
update() {
|
||||||
|
wp "core update-db"
|
||||||
|
wp "plugin update --all"
|
||||||
|
wp "plugin auto-updates enable --all"
|
||||||
|
wp "theme update --all"
|
||||||
|
wp "theme auto-updates enable --all"
|
||||||
|
wp "language core update"
|
||||||
|
wp "language plugin update --all"
|
||||||
|
wp "language theme update --all"
|
||||||
|
}
|
||||||
|
|
||||||
core_install(){
|
core_install(){
|
||||||
ADMIN=admin
|
ADMIN=admin
|
||||||
if [ -n "$AUTHENTIK_DOMAIN" ]
|
if [ -n "$AUTHENTIK_DOMAIN" ]
|
||||||
@ -27,6 +39,7 @@ core_install(){
|
|||||||
else
|
else
|
||||||
wp "option set default_role subscriber"
|
wp "option set default_role subscriber"
|
||||||
fi
|
fi
|
||||||
|
wp "theme auto-updates enable --all"
|
||||||
wp 'plugin auto-updates enable --all' || exit 0
|
wp 'plugin auto-updates enable --all' || exit 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -39,6 +52,7 @@ set_authentik(){
|
|||||||
fi
|
fi
|
||||||
wp "user create akadmin admin@example.com --role=administrator"
|
wp "user create akadmin admin@example.com --role=administrator"
|
||||||
wp "plugin install --activate daggerhart-openid-connect-generic"
|
wp "plugin install --activate daggerhart-openid-connect-generic"
|
||||||
|
wp 'plugin auto-updates enable daggerhart-openid-connect-generic'
|
||||||
wp "option update --format=json openid_connect_generic_settings '
|
wp "option update --format=json openid_connect_generic_settings '
|
||||||
{
|
{
|
||||||
\"login_type\":\"$LOGIN_TYPE\",
|
\"login_type\":\"$LOGIN_TYPE\",
|
||||||
@ -76,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
alaconnect.yml
Normal file
12
alaconnect.yml
Normal 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
|
7
compose.ftp-2220.yml
Normal file
7
compose.ftp-2220.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2220:22
|
7
compose.ftp-2221.yml
Normal file
7
compose.ftp-2221.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2221:22
|
7
compose.ftp-2222.yml
Normal file
7
compose.ftp-2222.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2222:22
|
7
compose.ftp-2223.yml
Normal file
7
compose.ftp-2223.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2223:22
|
7
compose.ftp-2224.yml
Normal file
7
compose.ftp-2224.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2224:22
|
7
compose.ftp-2225.yml
Normal file
7
compose.ftp-2225.yml
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
ports:
|
||||||
|
- 2220:22
|
24
compose.ftp.yml
Normal file
24
compose.ftp.yml
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
services:
|
||||||
|
ftp:
|
||||||
|
image: atmoz/sftp
|
||||||
|
secrets:
|
||||||
|
- ftp_pass
|
||||||
|
volumes:
|
||||||
|
- "wordpress_content:/home/ftp_user/wp-content"
|
||||||
|
configs:
|
||||||
|
- source: users_conf
|
||||||
|
target: /etc/sftp/users.conf
|
||||||
|
|
||||||
|
secrets:
|
||||||
|
ftp_pass:
|
||||||
|
name: ${STACK_NAME}_ftp_pass_${SECRET_FTP_PASS_VERSION}
|
||||||
|
external: true
|
||||||
|
|
||||||
|
configs:
|
||||||
|
users_conf:
|
||||||
|
name: ${STACK_NAME}_users_conf_${USERS_CONF_VERSION}
|
||||||
|
file: users.conf.tmpl
|
||||||
|
template_driver: golang
|
25
compose.yml
25
compose.yml
@ -3,7 +3,7 @@ version: "3.8"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
app:
|
app:
|
||||||
image: "wordpress:6.4.2"
|
image: "wordpress:6.8.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.16.0+6.8.1"
|
||||||
- "backupbot.backup.path=/var/www/html"
|
|
||||||
- "coop-cloud.${STACK_NAME}.version=2.7.2+6.4.2"
|
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: "mariadb:11.2"
|
image: "mariadb:11.7"
|
||||||
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
release/2.10.0+6.5.5
Normal file
1
release/2.10.0+6.5.5
Normal file
@ -0,0 +1 @@
|
|||||||
|
Adds redirects and alakazam integration
|
1
release/2.13.2+6.7.1
Normal file
1
release/2.13.2+6.7.1
Normal file
@ -0,0 +1 @@
|
|||||||
|
Breaking change for ftp container: you need to uncomment COMPOSE_FILE="$COMPOSE_FILE:compose.ftp-2222.yml" to open port 2222 again. You can also select between port 2220-2225.
|
@ -1,3 +0,0 @@
|
|||||||
file_uploads = On
|
|
||||||
upload_max_filesize = 256M
|
|
||||||
post_max_size = 256M
|
|
11
uploads.ini.tmpl
Normal file
11
uploads.ini.tmpl
Normal 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 }}
|
1
users.conf.tmpl
Normal file
1
users.conf.tmpl
Normal file
@ -0,0 +1 @@
|
|||||||
|
ftp_user:{{ secret "ftp_pass" }}:33:33
|
Reference in New Issue
Block a user