Compare commits

..

18 Commits

Author SHA1 Message Date
3wc
ef7bed62dd chore: publish 2.2.0+6.1.1 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone Build is failing
2022-12-15 08:33:52 -08:00
3wc
581cd72a9a feat: add restore labels for DB service 2022-12-15 08:32:38 -08:00
50cd246597 feat: longblob some stuff
Some checks failed
continuous-integration/drone/push Build is failing
2022-12-15 17:26:51 +01:00
a55be09951 chore: publish 2.1.0+6.1.1 release
Some checks failed
continuous-integration/drone/push Build is failing
2022-12-15 17:15:32 +01:00
3wc
5538ce9c3e Add support for WORDPRESS_TABLE_PREFIX 😬
Some checks failed
continuous-integration/drone/push Build is failing
2022-11-16 19:13:27 -08:00
981fe85910 chore: publish 2.0.1+6.0.1 release
Some checks failed
continuous-integration/drone/push Build is failing
2022-07-14 10:44:42 +02:00
3wc
1cedb08e46 fix: make DB backup work
Some checks failed
continuous-integration/drone/push Build is failing
2022-07-05 14:01:03 +02:00
37a6ff8d7a chore: publish 2.0.0+6.0.0 release
Some checks failed
continuous-integration/drone/push Build is failing
2022-06-22 17:28:10 +05:00
98f9a4f4d9 chore: publish 1.1.2+5.9.3 release
Some checks failed
continuous-integration/drone/push Build is failing
2022-05-05 12:45:37 +01:00
3wc
76b698bc30 Fix SMTP_PORT, and container startup
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-31 12:14:25 +02:00
3wc
dcb3b410ff feat: yet another attempt at wp-cli 2022-03-31 12:14:20 +02:00
ceffd9ba5d chore: publish 1.1.1+5.9.2 release
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-28 09:24:44 +02:00
3wc
2d8c149b42 Add SMTP_PORT env variable
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-14 13:23:08 +02:00
08c56a2ad9 fix: inline to avoid multiline errors in abra 2022-03-08 14:08:21 +00:00
2cb9b71e47 chore: publish 1.1.0+5.9.0 release 2022-02-03 17:14:34 +01:00
88ee8ae05e chore: publish 1.0.2+5.8.3 release 2022-01-18 16:11:45 +01:00
57122cd677 chore: publish 1.0.1+5.8.2 release 2022-01-04 12:06:14 +01:00
3wc
ab3361f46d Add backup-bot-two labels 2021-12-09 01:34:01 +02:00
11 changed files with 37 additions and 55 deletions

BIN
.abra.sh.swp Normal file

Binary file not shown.

BIN
.compose.yml.swo Normal file

Binary file not shown.

BIN
.compose.yml.swp Normal file

Binary file not shown.

View File

@ -5,18 +5,14 @@ DOMAIN=wordpress.example.com
#EXTRA_DOMAINS=', `www.wordpress.example.com`' #EXTRA_DOMAINS=', `www.wordpress.example.com`'
LETS_ENCRYPT_ENV=production LETS_ENCRYPT_ENV=production
# Necessary for optional features, leave this alone:
COMPOSE_FILE="compose.yml"
## Additional extensions ## Additional extensions
#PHP_EXTENSIONS="calendar" #PHP_EXTENSIONS="calendar"
SECRET_DB_ROOT_PASSWORD_VERSION=v1 SECRET_DB_ROOT_PASSWORD_VERSION=v1
SECRET_DB_PASSWORD_VERSION=v1 SECRET_DB_PASSWORD_VERSION=v1
# SSH access # Mostly for compatibility with existing database dumps...
#COMPOSE_FILE="$COMPOSE_FILE:compose.ssh.yml" #WORDPRESS_TABLE_PREFIX=wp_
#SSH_PUBLIC_KEY=<your pubkey here>
# Multisite # Multisite
#WORDPRESS_CONFIG_EXTRA="\ #WORDPRESS_CONFIG_EXTRA="\
@ -24,25 +20,15 @@ SECRET_DB_PASSWORD_VERSION=v1
# define('WP_ALLOW_MULTISITE', true );" # define('WP_ALLOW_MULTISITE', true );"
# Multisite phase 2 (see README) # Multisite phase 2 (see README)
#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']);"
# define('WP_CACHE', false);\
# define('WP_ALLOW_MULTISITE', true );\
# 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 # Local SMTP relay
#COMPOSE_FILE="$COMPOSE_FILE:compose.mailrelay.yml" #COMPOSE_FILE="compose.yml:compose.mailrelay.yml"
#SMTP_HOST="postfix_relay_app" #SMTP_HOST="postfix_relay_app"
#MAIL_FROM="wordpress@example.com" #MAIL_FROM="wordpress@example.com"
# Remote SMTP relay # Remote SMTP relay
#COMPOSE_FILE="$COMPOSE_FILE:compose.smtp.yml" #COMPOSE_FILE="compose.yml:compose.mailrelay.yml:compose.smtp.yml"
#SMTP_HOST="mail.example.com" #SMTP_HOST="mail.example.com"
#MAIL_FROM="wordpress@example.com" #MAIL_FROM="wordpress@example.com"
#SMTP_PORT=587 #SMTP_PORT=587

View File

@ -32,10 +32,7 @@ Coöp Cloud + [Wordpress](https://wordpress.org) = 🥳
## Running WP-CLI ## Running WP-CLI
`abra app YOURAPPDOMAIN wp 'core check-update --major'` `abra app cmd YOURAPPDOMAIN app wp -- core check-update --major`
(the WP-CLI arguments need to be quoted, because of how `abra` handles
command-line arguments)
## Network (Multi-site) ## Network (Multi-site)

12
abra.sh
View File

@ -1,8 +1,16 @@
export PHP_UPLOADS_CONF_VERSION=v3 export PHP_UPLOADS_CONF_VERSION=v3
export ENTRYPOINT_CONF_VERSION=v2 export ENTRYPOINT_CONF_VERSION=v3
export ENTRYPOINT_MAILRELAY_CONF_VERSION=v1 export ENTRYPOINT_MAILRELAY_CONF_VERSION=v2
export MSMTP_CONF_VERSION=v3 export MSMTP_CONF_VERSION=v3
wp() {
/usr/local/bin/wp $@
}
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)
}
sub_wp() { sub_wp() {
CONTAINER=$(docker container ls -f "Name=${STACK_NAME}_app" --format '{{ .ID }}') CONTAINER=$(docker container ls -f "Name=${STACK_NAME}_app" --format '{{ .ID }}')
if [ -z "$CONTAINER" ]; then if [ -z "$CONTAINER" ]; then

View File

@ -6,6 +6,7 @@ services:
entrypoint: /docker-entrypoint.mailrelay.sh entrypoint: /docker-entrypoint.mailrelay.sh
environment: environment:
- SMTP_HOST=${SMTP_HOST} - SMTP_HOST=${SMTP_HOST}
- SMTP_PORT=${SMTP_PORT:-25}
- MAIL_FROM=${MAIL_FROM} - MAIL_FROM=${MAIL_FROM}
configs: configs:
- source: mstmp_conf - source: mstmp_conf

View File

@ -1,27 +0,0 @@
---
version: "3.8"
services:
ssh:
image: lscr.io/linuxserver/openssh-server
environment:
- PUID=33
- PGID=33
- PUBLIC_KEY=${SSH_PUBLIC_KEY}
- USER_NAME=wordpress
- PASSWORD_ACCESS=false
networks:
- proxy
deploy:
update_config:
failure_action: rollback
order: start-first
labels:
- "traefik.enable=true"
- "traefik.tcp.routers.${STACK_NAME}-ssh.rule=HostSNI(`*`)"
- "traefik.tcp.routers.${STACK_NAME}-ssh.entrypoints=gitea-ssh"
- "traefik.tcp.services.${STACK_NAME}-ssh.loadbalancer.server.port=2222"
networks:
proxy:
external: true

View File

@ -3,18 +3,20 @@ version: "3.8"
services: services:
app: app:
image: "wordpress:5.8.1" image: "wordpress:6.1.1"
volumes: volumes:
- "wordpress_content:/var/www/html/wp-content/" - "wordpress_content:/var/www/html/wp-content/"
networks: networks:
- backend - backend
- proxy - proxy
environment: environment:
- PAGER=more
- WORDPRESS_DB_HOST=db - WORDPRESS_DB_HOST=db
- WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD_FILE=/run/secrets/db_password - WORDPRESS_DB_PASSWORD_FILE=/run/secrets/db_password
- WORDPRESS_DB_NAME=wordpress - WORDPRESS_DB_NAME=wordpress
- WORDPRESS_CONFIG_EXTRA=${WORDPRESS_CONFIG_EXTRA} - WORDPRESS_CONFIG_EXTRA=${WORDPRESS_CONFIG_EXTRA}
- WORDPRESS_TABLE_PREFIX
- PHP_EXTENSIONS - PHP_EXTENSIONS
secrets: secrets:
- db_password - db_password
@ -48,10 +50,12 @@ 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"
- "coop-cloud.${STACK_NAME}.version=1.0.0+5.8.1" - "coop-cloud.${STACK_NAME}.version=2.2.0+6.1.1"
- "backupbot.backup=true"
- "backupbot.backup.path=/var/www/html"
db: db:
image: "mariadb:10.6" image: "mariadb:10.8"
volumes: volumes:
- "mariadb:/var/lib/mysql" - "mariadb:/var/lib/mysql"
networks: networks:
@ -64,6 +68,14 @@ services:
secrets: secrets:
- db_password - db_password
- db_root_password - db_root_password
deploy:
labels:
backupbot.backup: "true"
backupbot.backup.path: "/tmp/dump.sql.gz"
backupbot.backup.pre-hook: "sh -c 'mysqldump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress | gzip > /tmp/dump.sql.gz'"
backupbot.backup.post-hook: "rm -f /tmp/dump.sql.gz"
backupbot.restore: "true"
backupbot.restore.post-hook: "sh -c 'mysql -u root -p\"$$(cat /run/secrets/db_root_password)\" wordpress < /tmp/dbdump.sql && rm -f /tmp/dbdump.sql'"
networks: networks:
backend: backend:

View File

@ -3,3 +3,5 @@
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y msmtp && rm -rf /var/lib/apt/lists/* apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y msmtp && rm -rf /var/lib/apt/lists/*
echo "sendmail_path = /usr/bin/msmtp -t -i" > /usr/local/etc/php/conf.d/sendmail.ini echo "sendmail_path = /usr/bin/msmtp -t -i" > /usr/local/etc/php/conf.d/sendmail.ini
/docker-entrypoint.sh

View File

@ -4,6 +4,9 @@
docker-php-ext-install {{ env "PHP_EXTENSIONS" }} docker-php-ext-install {{ env "PHP_EXTENSIONS" }}
{{ end }} {{ end }}
curl -z /usr/local/bin/wp -o /usr/local/bin/wp https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x /usr/local/bin/wp
if [ -n "$@" ]; then if [ -n "$@" ]; then
"$@" "$@"
fi fi