#!/bin/sh
# Runs a Compose deployment on the target host. Invoked remotely via SSH
# after compose.yaml, release.env and secrets.decrypted.env have been
# transferred to the same directory as this script.
#
# Usage: deploy-compose <registry> <username> <password>
set -e

REGISTRY="$1"
ZOT_USERNAME="$2"
ZOT_PASSWORD="$3"

cd "$(dirname "$0")"

set -a
. ./release.env
set +a

echo "$ZOT_PASSWORD" | docker login "$REGISTRY" -u "$ZOT_USERNAME" --password-stdin

docker compose \
  --project-directory . \
  -f compose.yaml \
  --env-file secrets.decrypted.env \
  pull

docker compose \
  --project-directory . \
  -f compose.yaml \
  --env-file secrets.decrypted.env \
  up -d --remove-orphans
