yeni
This commit is contained in:
@ -1,56 +1,45 @@
|
||||
#!/bin/bash
|
||||
set -e
|
||||
|
||||
echo "=== Container başlatılıyor ==="
|
||||
echo "Container başlatılıyor, izinler kontrol ediliyor..."
|
||||
|
||||
# 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"
|
||||
# Root olarak çalışıyoruz (user değiştirmeden önce)
|
||||
# SQLite veritabanı izinlerini düzelt
|
||||
if [ -f /app/db.sqlite3 ]; then
|
||||
echo "SQLite veritabanı bulundu, izinler düzeltiliyor..."
|
||||
chown 1000:1000 /app/db.sqlite3
|
||||
chmod 664 /app/db.sqlite3
|
||||
echo "Veritabanı izinleri düzeltildi."
|
||||
else
|
||||
echo "SQLite veritabanı bulunamadı, yeni oluşturulacak..."
|
||||
touch /app/db.sqlite3
|
||||
chown 1000:1000 /app/db.sqlite3
|
||||
chmod 664 /app/db.sqlite3
|
||||
fi
|
||||
|
||||
# Tüm /app dizinini 1000:1000 kullanıcısına ata
|
||||
echo "Dizin sahipliği ayarlanıyor..."
|
||||
# App dizini izinlerini kontrol et
|
||||
chown -R 1000:1000 /app
|
||||
chmod 775 /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
|
||||
# Auto backup scriptini kopyala ve izinleri ayarla
|
||||
echo "Auto backup script kurulumu yapılıyor..."
|
||||
if [ -f /app/build/auto_backup.sh ]; then
|
||||
cp /app/build/auto_backup.sh /usr/local/bin/auto_backup.sh
|
||||
chmod +x /usr/local/bin/auto_backup.sh
|
||||
echo "Auto backup script kurulumu tamamlandı."
|
||||
else
|
||||
echo "UYARI: Auto backup script bulunamadı!"
|
||||
fi
|
||||
|
||||
# Gerekli dizinleri oluştur
|
||||
mkdir -p /app/media /app/static /app/logs
|
||||
mkdir -p /tmp/backups
|
||||
# Gerekli dizinleri oluştur ve izinleri ayarla
|
||||
mkdir -p /app/media /app/static /app/logs /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
|
||||
chmod -R 755 /app/media /app/static /app/logs /tmp/backups
|
||||
|
||||
# /tmp dizinine de tam izin ver
|
||||
chmod 777 /tmp
|
||||
chown 1000:1000 /tmp
|
||||
# /tmp dizini izinleri
|
||||
chown -R 1000:1000 /tmp/backups
|
||||
chmod -R 755 /tmp/backups
|
||||
|
||||
echo "Final izin kontrolü:"
|
||||
ls -la /app/db.sqlite3 || true
|
||||
ls -ld /app/ || true
|
||||
echo "İzinler ayarlandı."
|
||||
|
||||
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
|
||||
# appuser olarak geç ve komutu çalıştır
|
||||
exec su-exec 1000:1000 "$@"
|
||||
|
||||
Reference in New Issue
Block a user