39 lines
1.0 KiB
Bash
39 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
# Переключение Caddy на продакшен-режим с SSL (Ubuntu + домен)
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
cd "${ROOT_DIR}"
|
|
|
|
if [[ ! -f .env ]]; then
|
|
echo "Сначала запустите: ./scripts/deploy.sh"
|
|
exit 1
|
|
fi
|
|
|
|
DOMAIN="${1:-}"
|
|
EMAIL="${2:-}"
|
|
|
|
if [[ -z "${DOMAIN}" || -z "${EMAIL}" ]]; then
|
|
echo "Использование: ./scripts/enable-ssl.sh <домен> <email>"
|
|
echo "Пример: ./scripts/enable-ssl.sh shop.example.com admin@example.com"
|
|
exit 1
|
|
fi
|
|
|
|
set_env() {
|
|
local key="$1" val="$2"
|
|
if grep -q "^${key}=" .env; then
|
|
sed -i "s|^${key}=.*|${key}=${val}|" .env
|
|
else
|
|
echo "${key}=${val}" >> .env
|
|
fi
|
|
}
|
|
|
|
set_env DOMAIN "${DOMAIN}"
|
|
set_env CADDY_EMAIL "${EMAIL}"
|
|
set_env CADDYFILE "./Caddyfile.prod"
|
|
|
|
docker compose up -d --force-recreate caddy
|
|
|
|
echo "SSL включён для https://${DOMAIN}"
|
|
echo "Убедитесь, что DNS A-запись указывает на этот сервер."
|