Compare commits
	
		
			1 Commits
		
	
	
		
			2.8.0+6.5.
			...
			6-4-2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 4d344e3d75 | 
@ -21,10 +21,9 @@ steps:
 | 
			
		||||
      SECRET_DB_ROOT_PASSWORD_VERSION: v1
 | 
			
		||||
      PHP_UPLOADS_CONF_VERSION: v1
 | 
			
		||||
      ENTRYPOINT_CONF_VERSION: v1
 | 
			
		||||
      HTACCESS_CONF_VERSION: v1
 | 
			
		||||
trigger:
 | 
			
		||||
  branch:
 | 
			
		||||
    - main
 | 
			
		||||
    - master
 | 
			
		||||
---
 | 
			
		||||
kind: pipeline
 | 
			
		||||
name: generate recipe catalogue
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										15
									
								
								.env.sample
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								.env.sample
									
									
									
									
									
								
							@ -34,8 +34,13 @@ SECRET_DB_PASSWORD_VERSION=v1
 | 
			
		||||
# Mostly for compatibility with existing database dumps...
 | 
			
		||||
#WORDPRESS_TABLE_PREFIX=wp_
 | 
			
		||||
 | 
			
		||||
# Multisite (see README)
 | 
			
		||||
#MULTISITE=enable # either 'enable', 'subdomain' or 'subfolder'
 | 
			
		||||
# Multisite
 | 
			
		||||
#WORDPRESS_CONFIG_EXTRA="\
 | 
			
		||||
#define('WP_CACHE', false);\
 | 
			
		||||
#define('WP_ALLOW_MULTISITE', true );"
 | 
			
		||||
 | 
			
		||||
# Multisite phase 2 (see README)
 | 
			
		||||
#WORDPRESS_CONFIG_EXTRA="define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', '${DOMAIN}'); define('PATH_CURRENT_SITE', '/');	define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1); define('FORCE_SSL_ADMIN', true ); define('COOKIE_DOMAIN', \$_SERVER['HTTP_HOST']);"
 | 
			
		||||
 | 
			
		||||
# Local SMTP relay
 | 
			
		||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.mailrelay.yml"
 | 
			
		||||
@ -67,9 +72,3 @@ SECRET_DB_PASSWORD_VERSION=v1
 | 
			
		||||
# Wide-open CORS
 | 
			
		||||
# 🚩🚩 dangerous, use only for development sites!
 | 
			
		||||
#CORS_ALLOW_ALL=1
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# FTP
 | 
			
		||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.ftp.yml"
 | 
			
		||||
#SECRET_FTP_PASS_VERSION=v1
 | 
			
		||||
#USERS_CONF_VERSION=v1
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							@ -7,7 +7,7 @@ Coöp Cloud + [Wordpress](https://wordpress.org) = 🥳
 | 
			
		||||
<!-- metadata -->
 | 
			
		||||
 | 
			
		||||
* **Category**: Apps
 | 
			
		||||
* **Status**: 4
 | 
			
		||||
* **Status**: 3, stable
 | 
			
		||||
* **Image**: [`wordpress`](https://hub.docker.com/_/wordpress), 4, upstream
 | 
			
		||||
* **Healthcheck**: Yes
 | 
			
		||||
* **Backups**: Yes
 | 
			
		||||
@ -47,12 +47,16 @@ AUTHENTIK_ID_NAME=authentik_example_com_wordpress_id_v1  # the same as in authen
 | 
			
		||||
 | 
			
		||||
## Network (Multi-site)
 | 
			
		||||
 | 
			
		||||
_(Only tested using subdomains)_
 | 
			
		||||
 | 
			
		||||
1. Set up as above
 | 
			
		||||
2. `abra app config <app-name>`, and uncomment `#MULTISITE=enable`
 | 
			
		||||
2. `abra app config <app-name>`, and uncomment the first `# Multisite` section
 | 
			
		||||
3. `abra app deploy <app-name>`
 | 
			
		||||
4. Log into the Wordpress admin dashboard, go to Tools » Network Setup
 | 
			
		||||
5. Don't worry about the suggested file changes
 | 
			
		||||
6. `abra app config <app-name>` again and set `MULTISITE` to either `subdomain` or `subfolder` depending on your setup.
 | 
			
		||||
6. `abra app config <app-name>` again - comment out the first `# Multisite`
 | 
			
		||||
   section in `.envrc`, uncomment the `# Multisite phase 2` section, and add
 | 
			
		||||
   your multisite subdomain(s) to `EXTRA_DOMAINS` (beware the weird syntax..)
 | 
			
		||||
7. `abra app deploy <app-name>`
 | 
			
		||||
 | 
			
		||||
## Installing a custom theme
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								abra.sh
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								abra.sh
									
									
									
									
									
								
							@ -1,8 +1,7 @@
 | 
			
		||||
export PHP_UPLOADS_CONF_VERSION=v3
 | 
			
		||||
export ENTRYPOINT_CONF_VERSION=v7
 | 
			
		||||
export ENTRYPOINT_CONF_VERSION=v6
 | 
			
		||||
export ENTRYPOINT_MAILRELAY_CONF_VERSION=v2
 | 
			
		||||
export MSMTP_CONF_VERSION=v4
 | 
			
		||||
export HTACCESS_CONF_VERSION=v2
 | 
			
		||||
 | 
			
		||||
wp() {
 | 
			
		||||
    su -p www-data -s /bin/bash -c "/usr/local/bin/wp $@"
 | 
			
		||||
 | 
			
		||||
@ -1,26 +0,0 @@
 | 
			
		||||
---
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										12
									
								
								compose.yml
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								compose.yml
									
									
									
									
									
								
							@ -3,7 +3,7 @@ version: "3.8"
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  app:
 | 
			
		||||
    image: "wordpress:6.5.0"
 | 
			
		||||
    image: "wordpress:6.4.2"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - "wordpress_content:/var/www/html/wp-content/"
 | 
			
		||||
    networks:
 | 
			
		||||
@ -31,8 +31,6 @@ services:
 | 
			
		||||
      - source: entrypoint_conf
 | 
			
		||||
        target: /docker-entrypoint.sh
 | 
			
		||||
        mode: 0555
 | 
			
		||||
      - source: htaccess_conf
 | 
			
		||||
        target: /var/www/html/.htaccess
 | 
			
		||||
    entrypoint: /docker-entrypoint.sh
 | 
			
		||||
    depends_on:
 | 
			
		||||
      - db
 | 
			
		||||
@ -60,10 +58,10 @@ services:
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT:-120}"
 | 
			
		||||
        - "backupbot.backup=true"
 | 
			
		||||
        - "backupbot.backup.path=/var/www/html"
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=2.8.0+6.5.0"
 | 
			
		||||
        - "coop-cloud.${STACK_NAME}.version=2.6.3+6.4.2"
 | 
			
		||||
 | 
			
		||||
  db:
 | 
			
		||||
    image: "mariadb:11.3"
 | 
			
		||||
    image: "mariadb:11.2"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - "mariadb:/var/lib/mysql"
 | 
			
		||||
    networks:
 | 
			
		||||
@ -110,7 +108,3 @@ configs:
 | 
			
		||||
  php_uploads_conf:
 | 
			
		||||
    name: ${STACK_NAME}_php_uploads_conf_${PHP_UPLOADS_CONF_VERSION}
 | 
			
		||||
    file: uploads.ini
 | 
			
		||||
  htaccess_conf:
 | 
			
		||||
    name: ${STACK_NAME}_htaccess_conf_${HTACCESS_CONF_VERSION}
 | 
			
		||||
    file: htaccess.tmpl
 | 
			
		||||
    template_driver: golang
 | 
			
		||||
 | 
			
		||||
@ -24,24 +24,6 @@ a2enmod headers
 | 
			
		||||
sed -ri -e 's/^([ \t]*)(<\/VirtualHost>)/\1\tHeader set Access-Control-Allow-Origin "*"\n\1\2/g' /etc/apache2/sites-available/*.conf
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ if eq (env "MULTISITE") "enable" }}
 | 
			
		||||
export WORDPRESS_CONFIG_EXTRA="$WORDPRESS_CONFIG_EXTRA
 | 
			
		||||
define('WP_CACHE', false);
 | 
			
		||||
define('WP_ALLOW_MULTISITE', true );"
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ if or (eq (env "MULTISITE") "subdomain") (eq (env "MULTISITE") "subfolder") }}
 | 
			
		||||
export WORDPRESS_CONFIG_EXTRA="$WORDPRESS_CONFIG_EXTRA
 | 
			
		||||
define('MULTISITE', true);
 | 
			
		||||
define('SUBDOMAIN_INSTALL', true);
 | 
			
		||||
define('DOMAIN_CURRENT_SITE', '${DOMAIN}');
 | 
			
		||||
define('PATH_CURRENT_SITE', '/');
 | 
			
		||||
define('SITE_ID_CURRENT_SITE', 1);
 | 
			
		||||
define('BLOG_ID_CURRENT_SITE', 1);
 | 
			
		||||
define('FORCE_SSL_ADMIN', true );
 | 
			
		||||
define('COOKIE_DOMAIN', \$_SERVER['HTTP_HOST']);"
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
if [ -n "$@" ]; then
 | 
			
		||||
	"$@"
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
@ -1,57 +0,0 @@
 | 
			
		||||
{{ if eq (env "MULTISITE") "" -}}
 | 
			
		||||
# BEGIN WordPress
 | 
			
		||||
 | 
			
		||||
RewriteEngine On
 | 
			
		||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
 | 
			
		||||
RewriteBase /
 | 
			
		||||
RewriteRule ^index\.php$ - [L]
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} !-f
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} !-d
 | 
			
		||||
RewriteRule . /index.php [L]
 | 
			
		||||
 | 
			
		||||
# END WordPress
 | 
			
		||||
{{- end -}}
 | 
			
		||||
 | 
			
		||||
{{- if eq (env "MULTISITE") "subfolder" -}}
 | 
			
		||||
# BEGIN WordPress Multisite
 | 
			
		||||
# Using subfolder network type: https://wordpress.org/documentation/article/htaccess/#multisite
 | 
			
		||||
 | 
			
		||||
RewriteEngine On
 | 
			
		||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
 | 
			
		||||
RewriteBase /
 | 
			
		||||
RewriteRule ^index\.php$ - [L]
 | 
			
		||||
 | 
			
		||||
# add a trailing slash to /wp-admin
 | 
			
		||||
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
 | 
			
		||||
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} -d
 | 
			
		||||
RewriteRule ^ - [L]
 | 
			
		||||
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
 | 
			
		||||
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
 | 
			
		||||
RewriteRule . index.php [L]
 | 
			
		||||
 | 
			
		||||
# END WordPress Multisite
 | 
			
		||||
{{- end -}}
 | 
			
		||||
 | 
			
		||||
{{- if eq (env "MULTISITE") "subdomain" -}}
 | 
			
		||||
# BEGIN WordPress Multisite
 | 
			
		||||
# Using subdomain network type: https://wordpress.org/documentation/article/htaccess/#multisite
 | 
			
		||||
 | 
			
		||||
RewriteEngine On
 | 
			
		||||
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
 | 
			
		||||
RewriteBase /
 | 
			
		||||
RewriteRule ^index\.php$ - [L]
 | 
			
		||||
 | 
			
		||||
# add a trailing slash to /wp-admin
 | 
			
		||||
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
 | 
			
		||||
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
 | 
			
		||||
RewriteCond %{REQUEST_FILENAME} -d
 | 
			
		||||
RewriteRule ^ - [L]
 | 
			
		||||
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
 | 
			
		||||
RewriteRule ^(.*\.php)$ $1 [L]
 | 
			
		||||
RewriteRule . index.php [L]
 | 
			
		||||
 | 
			
		||||
# END WordPress Multisite
 | 
			
		||||
{{- end }}
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
Multisite now also works with subpaths instead of subdomains. Also Multisite support was simplified. If you are using a subdomain multisite setup you can remove the `WORDPRESS_CONFIG_EXTRA="define('MULTISITE', true);...` from your config and instead set MULTISITE=subdomain.
 | 
			
		||||
@ -1 +0,0 @@
 | 
			
		||||
ftp_user:{{ secret "ftp_pass" }}:33:33
 | 
			
		||||
		Reference in New Issue
	
	Block a user