Compare commits

..

32 Commits

Author SHA1 Message Date
74282d5658 chore: publish 2.16.0+6.8.1 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-05-27 17:17:23 +02:00
ab7716bf1e chore: publish 2.15.0+6.8.0 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-04-23 09:39:59 -07:00
3wc
b0cc5a49a1 chore: publish 2.14.0+6.7.2 release
Some checks reported errors
continuous-integration/drone/push Build is pending
continuous-integration/drone/tag Build is pending
continuous-integration/drone Build was killed
2025-02-19 12:38:06 -05:00
3cca5d2cf3 Update .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2025-01-08 10:09:13 -08:00
f403648cf6 chore: publish 2.13.3+6.7.1 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-12-17 16:42:36 +01:00
83f724a316 add all possible ftp port compose files to .env
All checks were successful
continuous-integration/drone/push Build is passing
2024-12-17 16:40:40 +01:00
e6b9f8117f chore: publish 2.13.2+6.7.1 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-12-17 15:29:21 +01:00
e7aef38d3b remove 2222 default port binding to avoid port conflicts 2024-12-17 15:28:47 +01:00
e08838561d chore: publish 2.13.1+6.7.1 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-12-17 15:21:10 +01:00
04d26a59a9 add possiblitliy to use other sftp ports per compose overwrite 2024-12-17 15:16:42 +01:00
591019112e chore: publish 2.13.0+6.7.1 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-12-10 19:23:34 +01:00
76e9b80fbd fix uploads.ini templating 2024-12-10 19:23:34 +01:00
f49fa05ded add some more wordpress options for file uploads (#44)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: Steven Sting
Reviewed-on: #44
Reviewed-by: decentral1se <decentral1se@noreply.git.coopcloud.tech>
2024-12-09 14:59:57 +00:00
716e6df3cd move USERS_CONF_VERSION env to abra.sh
All checks were successful
continuous-integration/drone/push Build is passing
2024-11-11 22:51:58 +01:00
457c2defaf update backupbot label
All checks were successful
continuous-integration/drone/push Build is passing
2024-10-24 15:26:10 +02:00
37ff3e9b1b chore: publish 2.12.2+6.6.2 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-10-09 16:58:22 +02:00
c5443cc14b chore: publish 2.12.1+6.6.1 release
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-26 18:21:25 +01:00
34f70889e3 chore: publish 2.12.0+6.6.1 release
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-14 12:02:42 +02:00
af04e30e36 add show_plugins command 2024-08-14 12:02:33 +02:00
17574fd3fe chore: publish 2.11.0+6.6.0 release
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-19 18:45:32 +02:00
8b6983d240 alaconnect: replace 'execute' with 'initial-hooks'
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-15 13:57:23 +02:00
6fb30c5bc1 chore: publish 2.10.0+6.5.5 release
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-06 20:25:45 +02:00
929bfb4239 add redirects
All checks were successful
continuous-integration/drone/push Build is passing
2024-07-06 20:21:05 +02:00
7e4ff5c075 add alakazam integration file alaconnect.yml
All checks were successful
continuous-integration/drone/push Build is passing
2024-05-13 17:34:43 +02:00
3wc
564db5b63f chore: publish 2.9.1+6.5.3 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-05-11 12:18:46 -03:00
cf9b5f529e chore: publish 2.9.0+6.5.2 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-04-15 16:50:18 +02:00
3wc
240b70a967 chore: publish 2.8.0+6.5.0 release
All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2024-04-07 12:43:44 -03:00
3wc
7f6b6a5ff2 Update metadata
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-30 16:19:49 -03:00
4d99aae234 Updated .drone.yml to use main branch
All checks were successful
continuous-integration/drone/push Build is passing
2024-03-28 14:17:57 +00:00
959484f5e5 Added HTACCESS_CONF_VERSION to drone config 2024-03-28 14:15:37 +00:00
7ef8e5515d chore: publish 2.7.3+6.4.3 release
Some checks failed
continuous-integration/drone/push Build is failing
2024-03-25 12:26:53 +00:00
770ef4932a Add FTP Access
Some checks failed
continuous-integration/drone/push Build is failing
2024-01-29 20:41:59 +01:00
19 changed files with 149 additions and 19 deletions

View File

@ -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

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"
@ -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"

View File

@ -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
View File

@ -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
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

7
compose.ftp-2220.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2220:22

7
compose.ftp-2221.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2221:22

7
compose.ftp-2222.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2222:22

7
compose.ftp-2223.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2223:22

7
compose.ftp-2224.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2224:22

7
compose.ftp-2225.yml Normal file
View File

@ -0,0 +1,7 @@
---
version: "3.8"
services:
ftp:
ports:
- 2220:22

24
compose.ftp.yml Normal file
View 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

View File

@ -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
View File

@ -0,0 +1 @@
Adds redirects and alakazam integration

1
release/2.13.2+6.7.1 Normal file
View 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.

View File

@ -1,3 +0,0 @@
file_uploads = On
upload_max_filesize = 256M
post_max_size = 256M

11
uploads.ini.tmpl Normal file
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 }}

1
users.conf.tmpl Normal file
View File

@ -0,0 +1 @@
ftp_user:{{ secret "ftp_pass" }}:33:33