11#! /bin/sh
2+
3+ echo " === Sentinel Kit Backend Entrypoint ==="
4+ echo " Environment: $APP_ENV "
5+
26chown -R www-data:www-data /var/www/html
37chown -R www-data:www-data /detection-rules
48
9+ setup_symfony () {
10+ MARKER_FILE=" /var/www/html/.initial_setup_done"
11+ rm -rf /var/www/html/var/cache
12+ rm -rf /var/www/html/public/bundles
13+ rm -rf /detection-rules/elastalert/*
14+
15+ echo " Installing Composer dependencies..."
16+ composer install
17+
18+ if [ ! -f " $MARKER_FILE " ]; then
19+ echo " Running initial setup..."
20+ sleep 10
21+ rm -rf /var/www/html/migrations/* .php
22+ php /var/www/html/bin/console doctrine:schema:drop --force --full-database
23+ php /var/www/html/bin/console make:migration -n
24+ php /var/www/html/bin/console doctrine:migrations:migrate -n
25+ php /var/www/html/bin/console lexik:jwt:generate-keypair
26+ php /var/www/html/bin/console lexik:jwt:check-config
27+ touch " $MARKER_FILE "
28+ echo " Initial setup completed."
29+ fi
30+
31+ if [ " $APP_ENV " = " prod" ]; then
32+ echo " Warming up production cache..."
33+ php /var/www/html/bin/console cache:clear --env=prod --no-debug
34+ php /var/www/html/bin/console cache:warmup --env=prod --no-debug
35+ else
36+ echo " Clearing development cache..."
37+ php /var/www/html/bin/console cache:clear
38+ fi
39+ }
40+
541su -s /bin/sh www-data << 'EOF '
6- MARKER_FILE="/var/www/html/.initial_setup_done"
7- rm -rf /var/www/html/var/cache
8- rm -rf /var/www/html/public/bundles
9- rm -rf /detection-rules/elastalert/*
10- composer install
11- if [ ! -f "$MARKER_FILE" ]; then
12- echo "Running initial setup..."
13- sleep 10
14- rm -rf /var/www/html/migrations/*.php
15- php /var/www/html/bin/console doctrine:schema:drop --force --full-database
16- php /var/www/html/bin/console make:migration -n
17- php /var/www/html/bin/console doctrine:migrations:migrate -n
18- php /var/www/html/bin/console lexik:jwt:generate-keypair
19- php /var/www/html/bin/console lexik:jwt:check-config
20- touch "$MARKER_FILE"
21- fi
22- echo "Starting Symfony server..."
42+ $(declare -f setup_symfony)
43+ setup_symfony
44+ EOF
45+
46+ if [ " $APP_ENV " = " prod" ]; then
47+ echo " Starting PRODUCTION mode with Nginx + PHP-FPM..."
48+
49+ echo " Starting PHP-FPM..."
50+ php-fpm -D
51+
52+ echo " Starting Nginx on port 8000..."
53+ nginx -g ' daemon off;'
54+
55+ else
56+ echo " Starting DEVELOPMENT mode with Symfony server..."
57+
58+ su -s /bin/sh www-data << 'EOF '
59+ echo "Starting Symfony development server on port 8000..."
2360symfony server:start --allow-http --port=8000 --listen-ip='0.0.0.0'
24- EOF
61+ EOF
62+ fi
0 commit comments