diff --git a/README.md b/README.md new file mode 100644 index 0000000..1b5284b --- /dev/null +++ b/README.md @@ -0,0 +1,112 @@ +# Wordpress + +[![Build Status](https://build.coopcloud.tech/api/badges/coop-cloud/wordpress/status.svg)](https://build.coopcloud.tech/coop-cloud/wordpress) + +Coöp Cloud + [Wordpress](https://wordpress.org) = 🥳 + + + +* **Category**: Apps +* **Status**: 4 +* **Image**: [`wordpress`](https://hub.docker.com/_/wordpress), 4, upstream +* **Healthcheck**: Yes +* **Backups**: Yes +* **Email**: 3 +* **Tests**: 2 +* **SSO**: No + + + + +## Quick start + + +* `abra app new wordpress` +* `abra app config ` +* `abra app secret generate -a ` +* `abra app deploy ` +* `abra app cmd app core_install` + +### Authentik Integration + + +`abra app config ` +Configure the following envs: +``` +COMPOSE_FILE="$COMPOSE_FILE:compose.authentik.yml" +AUTHENTIK_DOMAIN=authentik.example.com +AUTHENTIK_SECRET_NAME=authentik_example_com_wordpress_secret_v1 # the same as in authentik +AUTHENTIK_ID_NAME=authentik_example_com_wordpress_id_v1 # the same as in authentik +``` + +`abra app cmd app set_authentik` + +## Running WP-CLI + +You can either run using `abra app cmd`: +`abra app cmd app wp -- core check-update --major` + +Or by entering the app shell: +1. `abra app run app bash` +2. `su -s /bin/bash www-data -c "wp core check-update --major"` + +## Network (Multi-site) + +1. Set up as above +2. `abra app config `, and uncomment `#MULTISITE=enable` +3. `abra app deploy ` +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 ` again and set `MULTISITE` to either `subdomain` or `subfolder` depending on your setup. +7. `abra app deploy ` + +## Installing a custom theme + +`abra app cp ~/path/to/local/theme wordpress:/var/www/html/wp-content/themes/` + +## Email + +There is a local or remote SMTP relay configuration available. + +* **local**: `COMPOSE_FILE=compose.yml:compose.mailrelay.yml` +* **remote**: `COMPOSE_FILE=compose.yml:compose.mailrelay.yml:compose.smtp.yml` + +Below are the instructions for the local relay. + +1. Deploy [`postfix-relay`][cc-postfix-relay] +2. `abra app config `, and uncomment the email lines; change + `MAIL_FROM` to make sure the domain is the same as `postfix-relay`'s + `$DOMAIN` or in its `$EXTRA_SENDER_DOMAINS` +3. `abra app deploy ` + +## Tests + +Run the full test suite: + +```sh +bash tests/run.sh +``` + +### Prerequisites + +The test suite uses several tools. Install them with your equivalent of: + +```sh +brew install shellcheck gomplate +``` +Some tests skip gracefully if their dependencies are missing. + +[abra]: https://git.autonomic.zone/autonomic-cooperative/abra + +## Migrate from a non-Co-op Cloud Wordpress install + +Make a .tar.gz backup of the site's wp-content dir and an .sql.gz backup of the database. + +1. `abra app wp.example.com restore app wp-content.tar.gz` +2. `abra app wp.example.com restore db wordpress.sql.gz` + +Lastly, if there's a domain name change, run a search and replace: +`abra app wp.example.com wp "search-replace https://old.example.com https://wp.example.com"` + +[cc-traefik]: https://git.autonomic.zone/coop-cloud/traefik +[cc-postfix-relay]: https://git.autonomic.zone/coop-cloud/traefik