37 lines
1.1 KiB
Bash
Executable File
37 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
ts() { date +"%Y-%m-%d %H:%M:%S"; }
|
|
log() { echo "[$(ts)] [INFO] $*"; }
|
|
warn(){ echo "[$(ts)] [WARN] $*" >&2; }
|
|
err() { echo "[$(ts)] [ERROR] $*" >&2; }
|
|
die() { err "$*"; exit 1; }
|
|
|
|
cd "$(dirname "$0")/.."
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
die "docker is not installed or not in PATH."
|
|
fi
|
|
if ! docker info >/dev/null 2>&1; then
|
|
die "docker daemon not reachable. Start docker service first."
|
|
fi
|
|
|
|
log "Stopping/removing any existing stack (safe to run repeatedly)..."
|
|
# Not fatal if nothing is running
|
|
docker compose down --remove-orphans >/dev/null 2>&1 || true
|
|
|
|
# Additionally remove a stray container with the same name (outside this compose project)
|
|
if docker ps -a --format '{{.Names}}' | grep -qx 'mssql2025'; then
|
|
warn "Found stray container named mssql2025; removing it..."
|
|
docker rm -f mssql2025 >/dev/null 2>&1 || true
|
|
fi
|
|
|
|
log "Ensuring ./data and ./backup exist..."
|
|
mkdir -p ./data ./backup
|
|
|
|
log "Fixing permissions for ./data and ./backup (UID 10001)..."
|
|
sudo chown -R 10001:0 ./data ./backup
|
|
sudo chmod -R ug+rwx ./data ./backup
|
|
|
|
log "Permissions fixed ✅"
|