Fix: Handle .env directory issue in bind mount and use relative API paths for single container
This commit is contained in:
@@ -27,18 +27,29 @@ if [ -z "$SESSION_SECRET" ] || [ "$SESSION_SECRET" = "change-this-to-a-very-stro
|
||||
SESSION_SECRET=$(node -e "console.log(require('crypto').randomBytes(64).toString('hex'))")
|
||||
export SESSION_SECRET
|
||||
|
||||
# .env dosyası yolu
|
||||
ENV_FILE="/app/backend/.env"
|
||||
|
||||
# Eğer .env bir dizin ise (bind mount sorunu), sil ve dosya olarak oluştur
|
||||
if [ -d "$ENV_FILE" ]; then
|
||||
echo "⚠️ .env bir dizin olarak tespit edildi, düzeltiliyor..."
|
||||
rm -rf "$ENV_FILE"
|
||||
fi
|
||||
|
||||
# .env dizinini oluştur (yoksa)
|
||||
mkdir -p "$(dirname "$ENV_FILE")"
|
||||
|
||||
# Session secret'ı .env dosyasına kaydet (persist)
|
||||
if [ ! -f "/app/backend/.env" ]; then
|
||||
mkdir -p /app/backend
|
||||
echo "SESSION_SECRET=$SESSION_SECRET" > /app/backend/.env
|
||||
if [ ! -f "$ENV_FILE" ]; then
|
||||
echo "SESSION_SECRET=$SESSION_SECRET" > "$ENV_FILE"
|
||||
echo "✅ Yeni SESSION_SECRET oluşturuldu ve .env dosyasına kaydedildi"
|
||||
echo "📝 SESSION_SECRET: ${SESSION_SECRET:0:20}... (ilk 20 karakter)"
|
||||
else
|
||||
# Mevcut .env dosyasını güncelle
|
||||
if grep -q "^SESSION_SECRET=" /app/backend/.env; then
|
||||
sed -i "s|^SESSION_SECRET=.*|SESSION_SECRET=$SESSION_SECRET|" /app/backend/.env
|
||||
if grep -q "^SESSION_SECRET=" "$ENV_FILE"; then
|
||||
sed -i "s|^SESSION_SECRET=.*|SESSION_SECRET=$SESSION_SECRET|" "$ENV_FILE"
|
||||
else
|
||||
echo "SESSION_SECRET=$SESSION_SECRET" >> /app/backend/.env
|
||||
echo "SESSION_SECRET=$SESSION_SECRET" >> "$ENV_FILE"
|
||||
fi
|
||||
echo "✅ SESSION_SECRET güncellendi ve .env dosyasına kaydedildi"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user