42 lines
958 B
Bash
Raw Normal View History

2025-05-14 15:57:34 +00:00
#!/usr/bin/env bash
set -euo pipefail
2025-05-14 16:11:40 +00:00
REPO_DIR="."
2025-05-14 15:57:34 +00:00
SECRETS_DIR="$REPO_DIR/data/secrets"
RUNTIME_ENV="$SECRETS_DIR/runtime.env"
2025-05-14 16:11:40 +00:00
# 1⃣ Create secrets folder
2025-05-14 15:57:34 +00:00
mkdir -p "$SECRETS_DIR"
2025-05-14 16:11:40 +00:00
# 2⃣ Generate perinstall secrets
2025-05-14 15:57:34 +00:00
DB_USER="postgres"
DB_PASS="$(openssl rand -hex 16)"
DB_NAME="lnbitsdb"
FLASK_SECRET="$(openssl rand -hex 32)"
DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@db:5432/${DB_NAME}"
2025-05-14 16:11:40 +00:00
# 3⃣ Write runtime.env
cat > "$RUNTIME_ENV" <<EOF
2025-05-14 15:57:34 +00:00
DB_USER=${DB_USER}
DB_PASS=${DB_PASS}
DB_NAME=${DB_NAME}
DATABASE_URL=${DATABASE_URL}
FLASK_SECRET=${FLASK_SECRET}
EOF
2025-05-14 16:11:40 +00:00
echo "✅ Generated secrets in $RUNTIME_ENV"
2025-05-14 15:57:34 +00:00
2025-05-14 16:11:40 +00:00
# 4⃣ Build & run containers
2025-05-14 15:57:34 +00:00
docker-compose up -d --build
2025-05-14 16:11:40 +00:00
# 5⃣ Display credentials once
2025-05-14 15:57:34 +00:00
echo
2025-05-14 16:11:40 +00:00
echo "🔐 Database credentials"
echo " DB_USER: $DB_USER"
echo " DB_PASS: $DB_PASS"
echo " DB_NAME: $DB_NAME"
2025-05-14 15:57:34 +00:00
echo
2025-05-14 16:11:40 +00:00
echo "🔑 Flask secret: $FLASK_SECRET"
2025-05-14 15:57:34 +00:00
echo
2025-05-14 16:11:40 +00:00
echo "▶️ Access the web UI at: http://localhost:3000"