yeni
This commit is contained in:
56
build/init.sh
Normal file
56
build/init.sh
Normal file
@ -0,0 +1,56 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "=== Container başlatılıyor ==="
|
||||
|
||||
# Veritabanı dosyası yolu
|
||||
DB_FILE="/app/db.sqlite3"
|
||||
DB_DIR="/app"
|
||||
|
||||
echo "Mevcut durumu kontrol ediyorum..."
|
||||
ls -la /app/ || true
|
||||
|
||||
# Veritabanı dosyası kontrolü ve oluşturma
|
||||
if [ ! -f "$DB_FILE" ]; then
|
||||
echo "SQLite veritabanı bulunamadı, oluşturuluyor..."
|
||||
touch "$DB_FILE"
|
||||
fi
|
||||
|
||||
# Tüm /app dizinini 1000:1000 kullanıcısına ata
|
||||
echo "Dizin sahipliği ayarlanıyor..."
|
||||
chown -R 1000:1000 /app
|
||||
|
||||
# Veritabanı dosyası için özel izinler
|
||||
echo "Veritabanı izinleri ayarlanıyor..."
|
||||
chmod 666 "$DB_FILE" # Daha geniş izin
|
||||
chmod 777 "$DB_DIR" # Dizin için tam izin
|
||||
|
||||
# Gerekli dizinleri oluştur
|
||||
mkdir -p /app/media /app/static /app/logs
|
||||
mkdir -p /tmp/backups
|
||||
chown -R 1000:1000 /app/media /app/static /app/logs /tmp/backups
|
||||
chmod -R 777 /app/media /app/static /app/logs /tmp/backups
|
||||
|
||||
# /tmp dizinine de tam izin ver
|
||||
chmod 777 /tmp
|
||||
chown 1000:1000 /tmp
|
||||
|
||||
echo "Final izin kontrolü:"
|
||||
ls -la /app/db.sqlite3 || true
|
||||
ls -ld /app/ || true
|
||||
|
||||
echo "=== İzinler ayarlandı, appuser olarak geçiliyor ==="
|
||||
|
||||
# Django migrate çalıştır (root olarak)
|
||||
echo "Django migrate çalıştırılıyor..."
|
||||
cd /app
|
||||
python manage.py migrate --noinput || echo "Migrate hatası, devam ediliyor..."
|
||||
|
||||
# Veritabanı izinlerini tekrar ayarla
|
||||
chown 1000:1000 "$DB_FILE"
|
||||
chmod 666 "$DB_FILE"
|
||||
|
||||
echo "=== Uygulama başlatılıyor ==="
|
||||
|
||||
# appuser olarak uygulamayı başlat
|
||||
exec su-exec 1000:1000 "$@"
|
||||
Reference in New Issue
Block a user