Files
docker/update-containers.sh
T
2025-07-20 13:25:51 +10:00

59 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
#APP="app"
QM=0
STACKS="traefik nextcloud passbolt searxng"
LOG_FILE="/mnt/docker-persistent-data/docker/update-containers.log"
usage() {
# echo "Usage: $0 [-q quiet mode optional list compose services to recreate]" 1>&2
exit 1
}
while getopts "q:h" o; do
case "${o}" in
# p)
# APP=${OPTARG}
# ;;
q)
STACKS=${OPTARG}
QM=1
;;
h)
usage
;;
esac
done
shift $((OPTIND-1))
#if [[ $QM == 1 ]] && [ -z "${q}" ]; then
# usage
#fi
echo $(date -d "+10 hours" "+%a %b %d %T") > $LOG_FILE
pushd ~/docker &>> $LOG_FILE
#if [ $QM = 0 ]; then
# docker-compose ps --services
# read -p "Enter services to recreate... " SERVICES
#fi
for SERVICE in $STACKS
do
#pushd ~/docker/$SERVICE
#docker-compose -f ./$SERVICE/docker-compose.yml pull
#docker-compose -f ./$SERVICE/docker-compose.yml rm -fs
echo "Updating "$SERVICE >> $LOG_FILE
docker-compose -f ./$SERVICE/docker-compose.yml up --quiet-pull -d &>> $LOG_FILE
# docker-compose -p $APP stop $SERVICE
# docker-compose -p $APP rm -f $SERVICE
# docker-compose -p $APP up -d $SERVICE
#popd
done
echo "Pruning system..." >> $LOG_FILE
docker system prune -f &>> $LOG_FILE
popd &>> $LOG_FILE