#!/usr/bin/env bash # ساخت .env با مقادیر قوی تصادفی — پیش از اولین استقرار تولید یک‌بار اجرا کنید. # # bash scripts/gen-env.sh # فایل .env می‌سازد (موجود را بازنویسی نمی‌کند) # bash scripts/gen-env.sh --force # .env موجود را بازنویسی می‌کند (احتیاط!) # # توجه: تغییر SECRET_KEY همه ادمین‌ها را از پنل خارج می‌کند؛ تغییر MINIO_ROOT_PASSWORD # فقط با همگام‌سازی S3_SECRET_KEY بک‌اند اعتبار دارد. set -euo pipefail cd "$(dirname "$0")/.." if [ -f .env ] && [ "${1:-}" != "--force" ]; then echo "خطا: .env از قبل موجود است. برای بازنویسی: bash scripts/gen-env.sh --force" >&2 exit 1 fi rand() { openssl rand -"$1" 2>/dev/null || head -c 64 /dev/urandom | od -An -tx1 | tr -d ' \n'; } SECRET_KEY="$(rand hex 48)" POSTGRES_PASSWORD="$(rand hex 16)" MINIO_ROOT_PASSWORD="$(rand hex 16)" ADMIN_PASSWORD="$(rand hex 12)" cat > .env <