#!/bin/sh set -eu source_file=/home/mikail/dana-medical/.deploy/dana-medical.caddy custom_dir=/home/kadir/timechecker/caddy-custom target_file="$custom_dir/dana-medical.caddy" container=timechecker-caddy-1 test -s "$source_file" if docker run --rm -v "$custom_dir:/target:ro" alpine:3.22 test -e /target/dana-medical.caddy; then echo 'target_already_exists' exit 1 fi docker run --rm \ -v /home/mikail/dana-medical/.deploy:/source:ro \ -v "$custom_dir:/target" \ alpine:3.22 cp /source/dana-medical.caddy /target/dana-medical.caddy rollback() { docker run --rm -v "$custom_dir:/target" alpine:3.22 rm -f /target/dana-medical.caddy >/dev/null 2>&1 || true } trap rollback INT TERM HUP if ! docker exec "$container" caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile; then rollback echo 'caddy_validation_failed' exit 1 fi if ! docker exec "$container" caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile; then rollback docker exec "$container" caddy reload --config /etc/caddy/Caddyfile --adapter caddyfile >/dev/null 2>&1 || true echo 'caddy_reload_failed' exit 1 fi trap - INT TERM HUP docker exec "$container" caddy adapt --config /etc/caddy/Caddyfile --adapter caddyfile 2>/dev/null | grep -q 'new.danamedical.ru' echo 'caddy_route=installed'