File size: 1,653 Bytes
907b200
 
 
 
 
cdebe3b
907b200
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/sh
set -e

cd /var/www/html


php artisan config:clear --no-interaction 2>/dev/null || true

# Create SQLite database file if it doesn't exist
if [ "${DB_CONNECTION}" = "sqlite" ]; then
    DB_PATH="${DB_DATABASE:-database/ailixir.sqlite}"
    DB_DIR=$(dirname "$DB_PATH")
    mkdir -p "$DB_DIR"
    touch "$DB_PATH"
    chmod 664 "$DB_PATH"
    echo "SQLite database prepared at $DB_PATH"
fi

if [ "${RUN_MIGRATIONS:-true}" = "true" ]; then
    php artisan migrate --force --no-interaction
else
    echo "Skipping migrations because RUN_MIGRATIONS=${RUN_MIGRATIONS}"
fi

# Seed verified test users for CI testing (idempotent via firstOrCreate)
php artisan db:seed --class=TestUserSeeder --force --no-interaction 2>/dev/null || true

# Auto-generate APP_KEY on first boot if not set via env or .env
if [ -z "${APP_KEY}" ] && ! grep -q '^APP_KEY=' /var/www/html/.env 2>/dev/null; then
    NEW_KEY="base64:$(php -r 'echo base64_encode(random_bytes(32));' 2>/dev/null)"
    if [ -n "${NEW_KEY}" ]; then
        echo "APP_KEY=${NEW_KEY}" >> /var/www/html/.env
        echo "APP_KEY auto-generated and written to .env"
    else
        echo "WARNING: Could not generate APP_KEY"
    fi
fi

# Source RUN_MODE from .env if not already set (HF Spaces sync writes it there)
if [ -z "${RUN_MODE}" ] && [ -f /var/www/html/.env ]; then
    RUN_MODE=$(grep -oP '^RUN_MODE=\K.*' /var/www/html/.env 2>/dev/null | head -1 || true)
fi

# If RUN_MODE=hf, run with supervisord (Hugging Face Spaces)
if [ "${RUN_MODE}" = "hf" ]; then
    echo "Starting AILIXIR on Hugging Face Spaces..."
    exec supervisord -c /etc/supervisor/conf.d/supervisord.conf
fi

exec "$@"