#!/bin/sh set -eu source_file=/home/mikail/dana-medical/.deploy/dana-medical.caddy custom_dir=/home/kadir/timechecker/caddy-custom container=timechecker-caddy-1 test -s "$source_file" docker run --rm \ -v /home/mikail/dana-medical/.deploy:/source:ro \ -v "$custom_dir:/target" \ alpine:3.22 sh -c 'set -eu; cp /source/dana-medical.caddy /target/dana-medical.caddy.next; cp /target/dana-medical.caddy /target/dana-medical.caddy.previous; mv /target/dana-medical.caddy.next /target/dana-medical.caddy' rollback() { docker run --rm -v "$custom_dir:/target" alpine:3.22 sh -c 'test ! -f /target/dana-medical.caddy.previous || mv /target/dana-medical.caddy.previous /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 run --rm -v "$custom_dir:/target" alpine:3.22 rm -f /target/dana-medical.caddy.previous docker exec "$container" caddy adapt --config /etc/caddy/Caddyfile --adapter caddyfile 2>/dev/null | grep -q 'danamedical.ru' echo 'caddy_dana_routes=installed'