diff --git a/.gitignore b/.gitignore index 9adf35b3..c5b6edef 100644 --- a/.gitignore +++ b/.gitignore @@ -135,3 +135,4 @@ yarn-error.log* lms/lmsweb/config.py db.sqlite vim.session +devops/rabbitmq.cookie diff --git a/devops/build.sh b/devops/build.sh index ae79ff72..97943fb4 100755 --- a/devops/build.sh +++ b/devops/build.sh @@ -4,8 +4,9 @@ SCRIPT_FILE_PATH=$(readlink -f "${0}") SCRIPT_FOLDER=$(dirname "${SCRIPT_FILE_PATH}") MAIN_FOLDER="${SCRIPT_FOLDER}/.." -echo "Asking for sudo to chown the rabbitmq cookie:" -sudo chown "$USER:$USER" "$SCRIPT_FOLDER/rabbitmq.cookie" +echo "Using sudo to remove the old erlang cookie" +ERLANG_COOKIE_FILE="${SCRIPT_FOLDER}/rabbitmq.cookie" +sudo rm -f "$ERLANG_COOKIE_FILE" echo "Running build on folder ${MAIN_FOLDER}" ( cd "${MAIN_FOLDER}" && docker build -t lms . ) diff --git a/devops/lms.yml b/devops/lms.yml index 78749285..148ae2cb 100644 --- a/devops/lms.yml +++ b/devops/lms.yml @@ -2,13 +2,13 @@ version: "3" services: db: - image: postgres:13-alpine + image: postgres:14-alpine ports: - 5432:5432 volumes: - db-data-volume:/pg_data environment: - - PGDATA=/pg_data/13/data + - PGDATA=/pg_data/14/data - POSTGRES_DB=${DB_NAME:-db} - POSTGRES_USER=${DB_USERNAME:-postgres} - POSTGRES_PASSWORD=${DB_PASSWORD:-postgres} diff --git a/devops/rabbitmq.cookie b/devops/rabbitmq.cookie deleted file mode 100644 index 5f2e3492..00000000 --- a/devops/rabbitmq.cookie +++ /dev/null @@ -1 +0,0 @@ -erlang_cookie=AAVyo5djdSMGIZXiwEQs3JeVaBx5l14z diff --git a/devops/start.sh b/devops/start.sh index 28548e57..512046c1 100755 --- a/devops/start.sh +++ b/devops/start.sh @@ -7,9 +7,12 @@ else echo "Using default dev variables" fi - SCRIPT_FILE_PATH=$(readlink -f "${0}") SCRIPT_FOLDER=$(dirname "${SCRIPT_FILE_PATH}") +ERLANG_COOKIE_FILE="${SCRIPT_FOLDER}/rabbitmq.cookie" + +echo erlang_cookie=AAVyo5djdSMGIZXiwEQs3JeVaBx5l14z > "$ERLANG_COOKIE_FILE" +chmod 600 "$ERLANG_COOKIE_FILE" docker network create lms diff --git a/devops/upgrade_pg/upgrade.sh b/devops/upgrade_pg/upgrade.sh index 2ad912af..d2bd4d3a 100644 --- a/devops/upgrade_pg/upgrade.sh +++ b/devops/upgrade_pg/upgrade.sh @@ -1,15 +1,20 @@ docker stop lms_db_1 # Put values here if you've configured them before -# DB_NAME=lms -# DB_USERNAME=lmsweb -# DB_PASSWORD= +CURRENT_VERSION=11 +NEW_VERSION=14 +DB_NAME=lms +DB_USERNAME=lmsweb +DB_PASSWORD= + +echo "Remove these two lines to indicate you have filled the details" +return 1 CURRENT_DATE=$(date +%d-%m-%Y_%H_%M_%S) MOUNT_PATH=/pg_data -PG_OLD_DATA=/pg_data/11/data -PG_NEW_DATA=/pg_data/13/data -BACKUP_FILENAME=v11.$CURRENT_DATE.sql +PG_OLD_DATA=/pg_data/${CURRENT_VERSION}/data +PG_NEW_DATA=/pg_data/${NEW_VERSION}/data +BACKUP_FILENAME=v${CURRENT_VERSION}.${CURRENT_DATE}.sql BACKUP_PATH=$MOUNT_PATH/backup/$BACKUP_FILENAME BACKUP_DIR=$(dirname "$BACKUP_PATH") VOLUME_NAME=lms_db-data-volume @@ -20,7 +25,7 @@ docker run --rm -v $VOLUME_NAME:$MOUNT_PATH \ -e POSTGRES_DB="${DB_NAME:-db}" \ -e POSTGRES_USER="${DB_USERNAME:-postgres}" \ -e POSTGRES_PASSWORD="${DB_PASSWORD:-postgres}" \ - postgres:11-alpine \ + postgres:${CURRENT_VERSION}-alpine \ /bin/bash -c "chown -R postgres:postgres $MOUNT_PATH \ && su - postgres /bin/bash -c \"/usr/local/bin/pg_ctl -D \\\"\$PGDATA\\\" start\" \ && mkdir -p \"$BACKUP_DIR\" \ @@ -33,7 +38,7 @@ docker run --rm -v $VOLUME_NAME:$MOUNT_PATH \ -e POSTGRES_DB="${DB_NAME:-db}" \ -e POSTGRES_USER="${DB_USERNAME:-postgres}" \ -e POSTGRES_PASSWORD="${DB_PASSWORD:-postgres}" \ - postgres:13-alpine \ + postgres:$NEW_VERSION-alpine \ /bin/bash -c "ls -la \"$BACKUP_DIR\" \ && mkdir -p \"\$PGDATA\" \ && chown -R postgres:postgres \"\$PGDATA\" \ @@ -43,3 +48,5 @@ docker run --rm -v $VOLUME_NAME:$MOUNT_PATH \ && su - postgres -c \"psql -f $BACKUP_PATH\" \ && printf \"\\\nhost all all all md5\\\n\" >> \"\$PGDATA/pg_hba.conf\" \ " +echo "Upgrade finished. Check for bad log messages. If none found, rerun:" +echo "source ./build.sh && source ./start.sh && source ./bootstrap.sh"