#!/bin/bash # Define your environment variables here APP_NAME="online-energiausweis" APP_PORT=3000 DB_CONTAINER_NAME="database" DB_NAME="main" DB_USER="main" DB_PASSWORD="hHMP8cd^N3SnzGRR" DB_PORT=5432 DB_VOLUME="postgres_data" git_pull_force() { git reset --hard HEAD git clean -f -d git pull origin main } # Zuerst müssen wir neue Änderungen von GitHub pullen. cd ~/apps/$APP_NAME git_pull_force; # Dann bauen wir das Docker Image unserer Application cd ~/apps/$APP_NAME docker stop $APP_NAME docker rm $APP_NAME docker build -t $APP_NAME . # Danach machen wir ein Backup der Datenbank, falls bei der Migration etwas schiefgehen sollte. cd ~/backups/ BACKUP_FILENAME="$(date +"%Y-%m-%d_%H-%M-%S").sql.gz" docker exec -t $DB_CONTAINER_NAME pg_dumpall -c -U $DB_USER | gzip > $BACKUP_FILENAME # Und starten unsere App wieder. docker run -d --name $APP_NAME --link $DB_CONTAINER_NAME -p "$APP_PORT:80" -e DB_CONNECTION=postgresql://$DB_USER:$DB_PASSWORD@${DB_CONTAINER_NAME}:$DB_PORT/$DB_NAME -e DB_PORT=$DB_PORT $APP_NAME # Das Backup lassen wir da, falls irgendwas schief gehen sollte.