41 lines
1.3 KiB
Bash
41 lines
1.3 KiB
Bash
#!/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'
|