This commit is contained in:
ilkeral
2025-08-08 07:24:25 +03:00
parent 342f1314c7
commit f4ee7a2d0b
29 changed files with 5189 additions and 1140 deletions

View File

@ -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 "$@"