Files
ad-ds-simple-file-server/redeploy
2026-03-17 10:08:26 +01:00

38 lines
760 B
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
log() {
printf '[redeploy] %s\n' "$*"
}
if [[ ! -d .git ]]; then
printf '[redeploy] ERROR: run this script from the repository root.\n' >&2
exit 1
fi
OLD_COMPOSE_FILE="$(mktemp)"
cleanup() {
if [[ -f "$OLD_COMPOSE_FILE" ]]; then
rm -f "$OLD_COMPOSE_FILE"
fi
}
trap cleanup EXIT
log 'Capturing current compose configuration'
docker compose config > "$OLD_COMPOSE_FILE"
log 'Pulling latest git changes'
git pull
log 'Building updated images while current stack is running'
docker compose build --no-cache
log 'Stopping previous stack using captured configuration'
docker compose --project-directory "$PWD" -f "$OLD_COMPOSE_FILE" down
log 'Starting stack'
docker compose up -d
log 'Redeploy complete'