Files
techtracker/host/next/update

50 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -e # Exit immediately if a command exits with a non-zero status.
# --- Configuration ---
COMPOSE_FILE="./host/next/docker/compose.yml"
DEV_PROJECT_NAME="dev-techtracker" # The project name for dev mode
# --- Variables ---
COMPOSE_PROJECT_FLAG="" # This will hold "-p dev-techtracker" if --dev is used
# --- Function to display usage ---
usage() {
echo "Usage: $0 [OPTIONS]"
echo "Or: ./update.sh [OPTIONS]" # Assuming the script is named update.sh
echo ""
echo "Options:"
echo " -d, --dev Run in development mode, using project name '${DEV_PROJECT_NAME}'."
echo " Adds '-p ${DEV_PROJECT_NAME}' to docker compose commands."
echo " -h, --help Display this help message."
exit 1
}
# --- Parse arguments ---
while [[ "$#" -gt 0 ]]; do
case "$1" in
-d|--dev)
COMPOSE_PROJECT_FLAG="-p ${DEV_PROJECT_NAME}"
shift # Consume the argument
;;
-h|--help)
usage
;;
*)
echo "Error: Unknown argument '$1'" >&2
usage
;;
esac
done
# --- Main Script Logic ---
echo "--- Pulling latest git changes ---"
git pull
echo "--- Building Docker Compose services ${COMPOSE_PROJECT_FLAG} ---"
sudo docker compose ${COMPOSE_PROJECT_FLAG} -f "${COMPOSE_FILE}" build
echo "--- Bringing down Docker Compose services ${COMPOSE_PROJECT_FLAG} ---"
sudo docker compose ${COMPOSE_PROJECT_FLAG} -f "${COMPOSE_FILE}" down
echo "--- Bringing up Docker Compose services ${COMPOSE_PROJECT_FLAG} in detached mode ---"
sudo docker compose ${COMPOSE_PROJECT_FLAG} -f "${COMPOSE_FILE}" up -d
echo "--- Script finished successfully ---"