#!/bin/bash set -euo pipefail CMD="${SSH_ORIGINAL_COMMAND:-${1:-}}" if ! [[ "$CMD" =~ ^deploy-[a-zA-Z0-9._-]+$ ]]; then echo "Unknown command: $CMD" exit 1 fi APP="${CMD#deploy-}" cd /opt/hantim git pull cd "docker/$APP" if ! docker compose pull; then echo "Image not yet available for $APP — skipping. It will deploy when the app repo is first pushed." exit 0 fi if [ "$APP" = "nginx" ]; then # Test config before applying — a bad config (e.g. missing cert) would take down all sites docker compose run --rm -T nginx nginx -t fi docker compose up -d if [ "$APP" = "nginx" ]; then docker exec nginx nginx -s reload fi