Compare commits

..
10 changed files with 78 additions and 6 deletions
+2 -1
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
+10
View File
@@ -6,6 +6,10 @@ COMPOSE_FILE="compose.yml"
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:
@@ -67,3 +71,9 @@ 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
#USERS_CONF_VERSION=v1
+1 -1
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
+18 -1
View File
@@ -1,5 +1,5 @@
export PHP_UPLOADS_CONF_VERSION=v3 export PHP_UPLOADS_CONF_VERSION=v3
export ENTRYPOINT_CONF_VERSION=v6 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
@@ -8,6 +8,17 @@ 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 +38,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 +51,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 +89,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
+26
View File
@@ -0,0 +1,26 @@
---
version: "3.8"
services:
ftp:
image: atmoz/sftp
secrets:
- ftp_pass
ports:
- 2222:22
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
+7 -3
View File
@@ -3,7 +3,7 @@ version: "3.8"
services: services:
app: app:
image: "wordpress:6.4.2" image: "wordpress:6.6.1"
volumes: volumes:
- "wordpress_content:/var/www/html/wp-content/" - "wordpress_content:/var/www/html/wp-content/"
networks: networks:
@@ -57,13 +57,17 @@ 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" - "backupbot.backup=true"
- "backupbot.backup.path=/var/www/html" - "backupbot.backup.path=/var/www/html"
- "coop-cloud.${STACK_NAME}.version=2.7.1+6.4.2" - "coop-cloud.${STACK_NAME}.version=2.12.0+6.6.1"
db: db:
image: "mariadb:11.2" image: "mariadb:11.4"
volumes: volumes:
- "mariadb:/var/lib/mysql" - "mariadb:/var/lib/mysql"
networks: networks:
+1
View File
@@ -0,0 +1 @@
Adds redirects and alakazam integration
+1
View File
@@ -0,0 +1 @@
ftp_user:{{ secret "ftp_pass" }}:33:33