kopia lustrzana https://github.com/bugout-dev/moonstream
51 wiersze
1.6 KiB
Bash
Executable File
51 wiersze
1.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# Prepare Moonstream DB application for docker-compose use
|
|
|
|
# Print help message
|
|
function usage {
|
|
echo "Usage: $0 [-h] -d DATABASE_NAME"
|
|
echo
|
|
echo "CLI to generate environment variables"
|
|
echo
|
|
echo "Optional arguments:"
|
|
echo " -h Show this help message and exit"
|
|
echo " -d Database name for postgres in docker-compose setup"
|
|
}
|
|
|
|
FLAG_DATABASE_NAME="moonstream_dev"
|
|
|
|
while getopts 'd:' flag; do
|
|
case "${flag}" in
|
|
d) FLAG_DATABASE_NAME="${OPTARG}" ;;
|
|
h) usage
|
|
exit 1 ;;
|
|
*) usage
|
|
exit 1 ;;
|
|
esac
|
|
done
|
|
|
|
set -e
|
|
|
|
SCRIPT_DIR="$(realpath $(dirname $0))"
|
|
DOCKER_MOONSTREAMDB_DB_URI="postgresql://postgres:postgres@db/$FLAG_DATABASE_NAME"
|
|
DOCKER_MOONSTREAMDB_ENV_FILE="docker.moonstreamdb.env"
|
|
DOCKER_MOONSTREAMDB_ALEMBIC_FILE="alembic.moonstreamdb.ini"
|
|
|
|
# Generate environment variables
|
|
|
|
cp "$SCRIPT_DIR/sample.env" "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ENV_FILE"
|
|
|
|
# Clean file with variables from export prefix and quotation marks
|
|
sed --in-place 's|^export * ||' "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ENV_FILE"
|
|
sed --in-place 's|"||g' "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ENV_FILE"
|
|
|
|
sed -i "s|^MOONSTREAM_DB_URI=.*|MOONSTREAM_DB_URI=$DOCKER_MOONSTREAMDB_DB_URI|" "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ENV_FILE"
|
|
sed -i "s|^MOONSTREAM_DB_URI_READ_ONLY=.*|MOONSTREAM_DB_URI_READ_ONLY=$DOCKER_MOONSTREAMDB_DB_URI|" "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ENV_FILE"
|
|
|
|
# Generate alembic config
|
|
|
|
cp "$SCRIPT_DIR/alembic.sample.ini" "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ALEMBIC_FILE"
|
|
|
|
sed -i "s|^sqlalchemy.url =.*|sqlalchemy.url = $DOCKER_MOONSTREAMDB_DB_URI|" "$SCRIPT_DIR/$DOCKER_MOONSTREAMDB_ALEMBIC_FILE"
|