109 lines
3.4 KiB
Makefile
109 lines
3.4 KiB
Makefile
#!make
|
|
include main.conf
|
|
export $(shell sed 's/=.*//' main.conf)
|
|
|
|
VERSION := 0.0.1-rc0
|
|
export VERSION
|
|
|
|
BUILD_ROOT_PATH=$(shell pwd)
|
|
|
|
#all: tidy gen test build docker
|
|
#.PHONY: all
|
|
|
|
all: environment moodle nextcloud
|
|
cp .env docker/postgresql
|
|
cp .env docker/mariadb
|
|
cp .env docker/moodle
|
|
cp .env docker/nextcloud
|
|
cp .env docker/wordpress
|
|
docker-compose -f docker/moodle/moodle.yml \
|
|
-f docker/nextcloud/nextcloud.yml \
|
|
-f docker/wordpress/wordpress.yml \
|
|
-f docker/redis/redis.yml \
|
|
-f docker/postgresql/postgresql.yml \
|
|
-f docker/mariadb/mariadb.yml \
|
|
-f docker/network.yml \
|
|
config > docker-compose.yml
|
|
|
|
environment:
|
|
cp main.conf .env
|
|
echo "BUILD_ROOT_PATH=$(BUILD_ROOT_PATH)" >> .env
|
|
|
|
moodle: environment
|
|
cp .env docker/moodle
|
|
docker-compose -f docker/moodle/moodle.yml \
|
|
-f docker/postgresql/postgresql.yml \
|
|
-f docker/network.yml \
|
|
config > docker-compose.moodle.yml
|
|
|
|
nextcloud: environment
|
|
cp .env docker/nextcloud
|
|
cp .env docker/redis
|
|
docker-compose -f docker/nextcloud/nextcloud.yml \
|
|
-f docker/postgresql/postgresql.yml \
|
|
-f docker/redis/redis.yml \
|
|
-f docker/network.yml \
|
|
config > docker-compose.nextcloud.yml
|
|
|
|
wordpress: environment
|
|
cp .env docker/wordpress
|
|
docker-compose -f docker/wordpress/wordpress.yml \
|
|
-f docker/mariadb/mariadb.yml \
|
|
-f docker/network.yml \
|
|
config > docker-compose.wordpress.yml
|
|
|
|
init-dbs: environment
|
|
MOODLE="\set AUTOCOMMIT on\n; \
|
|
CREATE USER $(MOODLE_POSTGRES_USER) SUPERUSER PASSWORD '$(MOODLE_POSTGRES_PASSWORD)'; \
|
|
CREATE DATABASE moodle; \
|
|
GRANT ALL PRIVILEGES ON DATABASE moodle TO $(MOODLE_POSTGRES_USER);"
|
|
docker-compose exec isard-apps-postgresql psql -v ON_ERROR_STOP=1 \
|
|
--username $(POSTGRES_USER) <<-EOSQL $(MOODLE) EOSQL
|
|
|
|
remove-moodle-db: environment
|
|
docker-compose exec isard-apps-postgresql psql -v ON_ERROR_STOP=1 \
|
|
--username $(POSTGRES_USER) -c "\set AUTOCOMMIT on\n; \
|
|
DROP DATABASE moodle;"
|
|
|
|
reset-nextcloud: environment
|
|
docker-compose stop isard-apps-nextcloud-nginx isard-apps-nextcloud-app
|
|
rm -rf /opt/isard-office/nextcloud
|
|
docker-compose exec isard-apps-postgresql psql -v ON_ERROR_STOP=1 \
|
|
--username $(POSTGRES_USER) -c "\set AUTOCOMMIT on\n; \
|
|
DROP DATABASE nextcloud; \
|
|
CREATE USER $(NEXTCLOUD_POSTGRES_USER) SUPERUSER PASSWORD '$(NEXTCLOUD_POSTGRES_PASSWORD)'; \
|
|
CREATE DATABASE nextcloud; \
|
|
GRANT ALL PRIVILEGES ON DATABASE nextcloud TO $(NEXTCLOUD_POSTGRES_USER);"
|
|
docker-compose up -d isard-apps-nextcloud-nginx isard-apps-nextcloud-app
|
|
|
|
backup-databases:
|
|
echo "Todo"
|
|
|
|
restore-databases:
|
|
echo "Todo"
|
|
|
|
snapshot-databases:
|
|
echo "Todo"
|
|
|
|
replicate: environment
|
|
cp .env docker/postgresql
|
|
cp .env docker/mariadb
|
|
docker-compose -f docker/postgresql/postgresql.yml \
|
|
-f docker/mariadb/mariadb.yml \
|
|
-f docker/network.yml \
|
|
config > databases.yml
|
|
echo "Starting system databases..."
|
|
docker-compose -f databases.yml up -d --no-deps
|
|
|
|
echo "Substitute DOMAIN with: $DOMAIN"
|
|
grep -rl digitaldemocratic.net . | xargs sed -i 's/digitaldemocratic.net/$DOMAIN/g'
|
|
|
|
echo "Generating new private/public certificates for SAML..."
|
|
openssl req -nodes -new -x509 -keyout certs/private.key -out certs/public.cert
|
|
|
|
echo "Substitute CERTIFICATES with new ones'
|
|
grep -rl oldtext . | xargs sed -i 's/oldtext/newtext/g'
|
|
|
|
echo "Restoring new SQL info in databases..."
|
|
docker exec -i isard-apps-postgresql psql -U admin --set ON_ERROR_STOP=on -f backups/sample.sql
|