1
0
mirror of https://github.com/Kovah/LinkAce.git synced 2025-01-17 21:28:30 +01:00
LinkAce/update-docker.sh
2022-09-06 09:27:15 +02:00

76 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# (C) 2020 Kevin Woblick / LinkAce
set -e
CR='\033[0;31m'
CG='\033[0;32m'
CY='\033[0;33m'
CW='\033[0m'
printf "\n${CG}==============================\n"
printf " LinkAce Docker Update Script \n"
printf "==============================\n\n"
printf "${CW}This script assumes you are using the standard Docker setup for Linkace. Only use this script if you did NOT modify any Docker-related files.\n${CR}PLEASE MAKE A BACKUP OF YOUR DATABASE BEFORE YOU CONTINUE!\n"
# Confirm that the user wants to update now
printf "\n${CR}Do you want to upgrade LinkAce now? [y/n]${CW} "
read -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit;
fi
# Check if Docker and docker-compose are installed
command -v docker-compose >/dev/null 2>&1 || {
printf "\n${CR}Docker and docker-compose must be installed for this script to work. Aborting.${CW}\n";
exit 1;
}
printf "\n> Deleting the application container volume...\n"
docker-compose stop
if grep -q "linkace/linkace:simple" docker-compose.yml; then
docker container rm linkace_app_1
else
docker container rm linkace_app_1
docker container rm linkace_nginx_1
fi
printf "\n> Deleting the application container volume...\n"
docker volume rm linkace_linkace_app
printf "\n> Pulling latest LinkAce image from the Docker Hub...\n"
if grep -q "linkace/linkace:simple" docker-compose.yml; then
docker pull linkace/linkace:simple
else
docker pull linkace/linkace
fi
printf "\n> Restarting the application...\n"
docker-compose up -d
printf "\n${CG}The LinkAce image was successfully updated.${CW}\n"
# Confirm that the user wants to update now
printf "\n${CY}You should upgrade the database now. Should the script take care of it? [y/n]${CW} "
read -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
printf "\nYou can manually update the database by running"
printf "\n$ docker-compose run app php artisan migrate\n"
exit;
fi
printf "\n> Migrating database...\n"
docker-compose run app php artisan migrate --force
printf "\n${CG}LinkAce was upgraded successfully!\n"
# Ask the user for caching
printf "\n${CR}Should the configuration and routes be cached now? This might improve overall performance. [y/n]${CW} "
read -n 1 -r
if [[ ! $REPLY =~ ^[Yy]$ ]]; then exit;
fi
docker-compose run app php artisan config:cache
docker-compose run app php artisan route:cache
printf "\n${CG}Thanks for using LinkAce! :)\n"