From 176041124e7c5732c6e8469ee642d883515c3309 Mon Sep 17 00:00:00 2001 From: rnsrk Date: Tue, 22 Apr 2025 23:26:44 +0200 Subject: [PATCH] add holistic bash scripts --- copy_overrides.bash | 17 +++++++++++++++++ create_infra.bash | 46 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100755 copy_overrides.bash create mode 100755 create_infra.bash diff --git a/copy_overrides.bash b/copy_overrides.bash new file mode 100755 index 0000000..57bf97d --- /dev/null +++ b/copy_overrides.bash @@ -0,0 +1,17 @@ +#!/bin/bash + +echo "Copying environment variables..." +cp override/core.example.env core/.env +cp override/drupal.example.env drupal/.env +cp override/gitlab.example.env gitlab/.env +cp override/nextcloud.example.env nextcloud/.env +cp override/onlyoffice.example.env onlyoffice/.env +cp override/openproject.example.env openproject/.env +echo "Environment variables copied" + +echo "Copying docker-compose.override.yml..." +cp override/mailcow.docker-compose.override.yml mailcow/docker-compose.override.yml +cp override/nextcloud.docker-compose.override.yml nextcloud/docker-compose.override.yml +cp override/onlyoffice.docker-compose.override.yml onlyoffice/docker-compose.override.yml +cp override/openproject.docker-compose.override.yml openproject/docker-compose.override.yml +echo "docker-compose.override.yml copied" diff --git a/create_infra.bash b/create_infra.bash new file mode 100755 index 0000000..5eaf528 --- /dev/null +++ b/create_infra.bash @@ -0,0 +1,46 @@ +#!/bin/bash + +source ./core/.env + +source ./drupal/.env + +if [ ! -d "./drupal/drupal/root" ]; then + echo "Creating Drupal infrastructure..." + mkdir -p ./drupal/drupal/root + docker run --rm drupal:$DRUPAL_VERSION-php$DRUPAL_PHP_VERSION-fpm-$DRUPAL_OS_VERSION tar -cC /opt/drupal/ . | tar -xC ./drupal/drupal/root + docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE USER $DRUPAL_DB_USER WITH PASSWORD '$DRUPAL_DB_PASSWORD';" + docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE DATABASE $DRUPAL_DB_NAME OWNER $DRUPAL_DB_USER;" + docker exec postgres psql -U $POSTGRES_USER -d $DRUPAL_DB_NAME -c "GRANT ALL PRIVILEGES ON DATABASE $DRUPAL_DB_NAME TO $DRUPAL_DB_USER;" + echo "Drupal infrastructure created" +else + echo "Drupal infrastructure already exists" +fi + +echo "Creating Hedgehog infrastructure..." +source ./hedgehog/.env +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE USER $HEDGEDOC_DB_USER WITH PASSWORD '$HEDGEDOC_DB_PASSWORD';" +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE DATABASE $HEDGEDOC_DB_NAME OWNER $HEDGEDOC_DB_USER;" +docker exec postgres psql -U $POSTGRES_USER -d $HEDGEDOC_DB_NAME -c "GRANT ALL PRIVILEGES ON DATABASE $HEDGEDOC_DB_NAME TO $HEDGEDOC_DB_USER;" +echo "Hedgehog infrastructure created" + +echo "Creating Nextcloud infrastructure..." +source ./nextcloud/.env +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE USER $NEXTCLOUD_DB_USER WITH PASSWORD '$NEXTCLOUD_DB_PASSWORD';" +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE DATABASE $NEXTCLOUD_DB_NAME OWNER $NEXTCLOUD_DB_USER;" +docker exec postgres psql -U $POSTGRES_USER -d $NEXTCLOUD_DB_NAME -c "GRANT ALL PRIVILEGES ON DATABASE $NEXTCLOUD_DB_NAME TO $NEXTCLOUD_DB_USER;" +echo "Nextcloud infrastructure created" + +echo "Creating OnlyOffice infrastructure..." +source ./onlyoffice/.env +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE USER $ONLYOFFICE_DB_USER WITH PASSWORD '$ONLYOFFICE_DB_PASSWORD';" +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE DATABASE $ONLYOFFICE_DB_NAME OWNER $ONLYOFFICE_DB_USER;" +docker exec postgres psql -U $POSTGRES_USER -d $ONLYOFFICE_DB_NAME -c "GRANT ALL PRIVILEGES ON DATABASE $ONLYOFFICE_DB_NAME TO $ONLYOFFICE_DB_USER;" +echo "OnlyOffice infrastructure created" + +echo "Creating OpenProject infrastructure..." +source ./openproject/.env +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE USER $OPENPROJECT_DB_USER WITH PASSWORD '$OPENPROJECT_DB_PASSWORD';" +docker exec postgres psql -U $POSTGRES_USER -d postgres -c "CREATE DATABASE $OPENPROJECT_DB_NAME OWNER $OPENPROJECT_DB_USER;" +docker exec postgres psql -U $POSTGRES_USER -d $OPENPROJECT_DB_NAME -c "GRANT ALL PRIVILEGES ON DATABASE $OPENPROJECT_DB_NAME TO $OPENPROJECT_DB_USER;" +echo "OpenProject infrastructure created" +