dana-medical-site/.deploy/remote-update-dana-caddy.sh
2026-10-14 13:33:13 +00:00

36 lines
1.4 KiB
Bash
Executable File

#!/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'