diff --git a/Makefile b/Makefile index b82c273724..c0c45c1c13 100644 --- a/Makefile +++ b/Makefile @@ -69,4 +69,7 @@ remove-file: flush-redis-cache: docker exec -it $(call translate-container-name,$(strip $(DIR))_redis_1) sh -c 'redis-cli flushall' -force-nuke-everything: down up flush-redis-cache database-force-nuke remove-var remove-file +install-plugins: + docker exec -it $(call translate-container-name,$(strip $(DIR))_php_1) /var/www/social/bin/install_plugins.sh + +force-nuke-everything: down remove-var remove-file up flush-redis-cache database-force-nuke install-plugins diff --git a/bin/install_plugins.sh b/bin/install_plugins.sh new file mode 100755 index 0000000000..952f8069f4 --- /dev/null +++ b/bin/install_plugins.sh @@ -0,0 +1,11 @@ +#!/bin/sh + +for plugin in plugins/*; do + install="${plugin}/bin/install.sh" + if [ -x "${install}" ]; then + ( # subshell, to clear options/environment + set -x + "${install}" + ) + fi +done diff --git a/docker/social/install.sh b/docker/social/install.sh index 7f54e76a13..368315129d 100755 --- a/docker/social/install.sh +++ b/docker/social/install.sh @@ -32,6 +32,8 @@ if [ ${DB_EXISTS} -ne 0 ]; then php bin/console doctrine:schema:create || exit 1 php bin/console app:populate_initial_values || exit 1 + ./bin/install_plugins.sh + echo "GNU social is installed" else echo "GNU social is already installed" diff --git a/plugins/OAuth2/bin/install.sh b/plugins/OAuth2/bin/install.sh new file mode 100755 index 0000000000..600a20a386 --- /dev/null +++ b/plugins/OAuth2/bin/install.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +cd /var/www/social/file || exit 1 + +mkdir -p oauth && cd oauth || exit 1 + +if [ ! -f private.key ]; then + openssl genrsa -out private.key 4096 + openssl rsa -in private.key -pubout -out public.key + + chown www-data:www-data private.key public.key +else + echo "Keys exist, nothing to do" +fi