ktongue/docker_container / SGAE /entrypoint.sh
download
raw
2.11 kB
#!/bin/bash
set -e
echo "=== SGAE Entrypoint ==="
# Generate .env file at runtime
cat > /var/www/html/.env << 'ENVFILE'
APP_NAME=SGAE
APP_ENV=production
APP_KEY=base64:WaaSy5lDE/XpEPcPNM78gkqeMgG16Wuyfcqr43rGdq4=
APP_DEBUG=false
APP_URL=https://ktongue-sgae-app.hf.space
LOG_CHANNEL=stderr
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=error
DB_CONNECTION=sqlite
BROADCAST_DRIVER=log
CACHE_DRIVER=file
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120
ENVFILE
echo ".env file created"
# Create all required Laravel directories
mkdir -p /var/www/html/storage/framework/sessions
mkdir -p /var/www/html/storage/framework/views
mkdir -p /var/www/html/storage/framework/cache/data
mkdir -p /var/www/html/storage/logs
mkdir -p /var/www/html/bootstrap/cache
mkdir -p /var/www/html/database
# Download database from HuggingFace dataset
if [ -n "$HF_TOKEN" ] && [ -n "$DATASET_NAME" ]; then
echo "Downloading database from dataset: $DATASET_NAME"
curl -L -f \
-H "Authorization: Bearer $HF_TOKEN" \
"https://huggingface.co/datasets/$DATASET_NAME/resolve/main/database.sqlite" \
-o /var/www/html/database/database.sqlite && echo "Database downloaded successfully" || {
echo "WARNING: Database download failed, creating empty database"
touch /var/www/html/database/database.sqlite
}
else
echo "WARNING: HF_TOKEN or DATASET_NAME not set, creating empty database"
touch /var/www/html/database/database.sqlite
fi
# Set permissions for ALL writable directories
chown -R www-data:www-data /var/www/html/storage /var/www/html/bootstrap/cache /var/www/html/database
chmod -R 775 /var/www/html/storage /var/www/html/bootstrap/cache /var/www/html/database
chown www-data:www-data /var/www/html/.env
cd /var/www/html
# Clear and rebuild caches
php artisan config:clear
php artisan cache:clear 2>/dev/null || true
php artisan view:clear 2>/dev/null || true
# Run migrations
php artisan migrate --force 2>/dev/null || echo "Migration skipped or already done"
echo "=== Starting Apache on port 7860 ==="
exec apache2-foreground

Xet Storage Details

Size:
2.11 kB
·
Xet hash:
29faec2aceb42ab93da85e0f8ff44a503a832d604b2733ea5c419ded4c451414

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.