This commit is contained in:
Mateusz Gruszczyński
2025-09-26 22:46:23 +02:00
parent dfa3028dad
commit 8887ed2c62

View File

@@ -15,32 +15,17 @@ COMPOSE_FILE="${COMPOSE_FILE:-docker-compose.yml}"
GIT_REMOTE="${GIT_REMOTE:-origin}"
GIT_BRANCH="${GIT_BRANCH:-$(git -C "$REPO_DIR" rev-parse --abbrev-ref HEAD 2>/dev/null || echo main)}"
# Domyślny profil i usługi
DB_PROFILE="sqlite" # domyślnie sqlite, czyli brak profilu pgsql/mysql
# Domyślny profil
PROFILE="${1:-sqlite}"
if [[ "$PROFILE" != "pgsql" && "$PROFILE" != "mysql" && "$PROFILE" != "sqlite" ]]; then
echo "Użycie: $0 {pgsql|mysql|sqlite}"
exit 1
fi
SERVICES=()
# Tworzenie katalogów danych dla baz jeśli brak
if [[ "$DB_PROFILE" == "pgsql" ]]; then
if [[ ! -d "./db/pgsql" ]]; then
log "Tworzę katalog ./db/pgsql dla danych PostgreSQL"
mkdir -p ./db/pgsql
fi
elif [[ "$DB_PROFILE" == "mysql" ]]; then
if [[ ! -d "./db/mysql" ]]; then
log "Tworzę katalog ./db/mysql dla danych MySQL"
mkdir -p ./db/mysql
fi
fi
# Przetwarzanie argumentów
if [[ $# -gt 0 ]]; then
case "$1" in
pgsql|mysql|sqlite)
DB_PROFILE="$1"
shift
;;
esac
SERVICES=("$@")
if [[ $# -gt 1 ]]; then
SERVICES=("${@:2}")
fi
log() { printf "\n==> %s\n" "$*"; }
@@ -77,21 +62,25 @@ docker compose -f "$COMPOSE_FILE" down --remove-orphans
log "Generowanie default.vcl z APP_PORT=$APP_PORT"
envsubst < deploy/varnish/default.vcl.template > deploy/varnish/default.vcl
# Budowanie i uruchamianie
log "Docker Compose UP (build bez deps) dla profilu: $DB_PROFILE i serwisów: ${SERVICES[*]:-(wszystkie)}"
if [[ "$DB_PROFILE" == "pgsql" ]]; then
PROFILE_OPT="--profile pgsql"
elif [[ "$DB_PROFILE" == "mysql" ]]; then
PROFILE_OPT="--profile mysql"
else
PROFILE_OPT=""
# Tworzenie katalogów danych dla baz jeśli brak
if [[ "$PROFILE" == "pgsql" ]]; then
if [[ ! -d "./db/pgsql" ]]; then
log "Tworzę katalog ./db/pgsql dla danych PostgreSQL"
mkdir -p ./db/pgsql
fi
elif [[ "$PROFILE" == "mysql" ]]; then
if [[ ! -d "./db/mysql" ]]; then
log "Tworzę katalog ./db/mysql dla danych MySQL"
mkdir -p ./db/mysql
fi
fi
log "Docker Compose UP (build bez deps) dla profilu: $PROFILE i serwisów: ${SERVICES[*]:-(wszystkie)}"
if [[ ${#SERVICES[@]} -gt 0 ]]; then
docker compose -f "$COMPOSE_FILE" up -d --no-deps --build $PROFILE_OPT "${SERVICES[@]}"
DB_ENGINE="$PROFILE" docker compose -f "$COMPOSE_FILE" --profile "$PROFILE" up -d --no-deps --build "${SERVICES[@]}"
else
docker compose -f "$COMPOSE_FILE" up -d --no-deps --build $PROFILE_OPT
DB_ENGINE="$PROFILE" docker compose -f "$COMPOSE_FILE" --profile "$PROFILE" up -d --no-deps --build
fi
log "Gotowe ✅ (wersja: $(cat version.txt))"